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