有没有办法忽略使用 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。有没有办法做到这一点?
我能想到的唯一方法是创建一个Custom Marshaller并在您实施ICustomMarshaller时。GetNativeDataSize,返回 0。您将使用MarshalAsAttribute将自定义编组器应用于该字段。但是,它不会正确编组,所以我不知道你为什么要这样做。
我不认为这是可能的。你为什么想这么做?