2

Marshal.SizeOf を使用して構造体サイズの計算でフィールドを無視する方法はありますか

元:

public struct Message
{
   public ushort X;
   public ushort Y; // Ignore this field in the calculation
}

int size = Marshal.SizeOf(typeof(Message));

現在サイズは4です。サイズを2にしたいです。これを行う方法はありますか?

4

2 に答える 2

2

私がそれを行うことを考えることができる唯一の方法は、カスタムマーシャラーを作成し、 ICustomMarshallerを実装することです。GetNativeDataSize、0を返します。MarshalAsAttributeを使用て、カスタムマーシャラーをそのフィールドだけに適用します。しかし、それは適切にマーシャリングされないので、なぜあなたがそれをしたいのか分かりません。

于 2009-07-23T20:48:20.323 に答える
0

それは不可能だと思います。なぜそれをしたいのですか?

于 2009-07-23T20:44:14.417 に答える