我可以轻松指定字段的偏移量:
[StructLayout(LayoutKind.Explicit)]
public struct MyMarshaled
{
[FieldOffset(0)]
public int Version;
[FieldOffset(3)]
public int SubVersion;
}
但是如何在位表示中指定字段长度?例如:
[StructLayout(LayoutKind.Explicit)]
public struct MyMarshaled
{
[FieldOffset(0, lenght=3)]
public int Version;
[FieldOffset(3, length=5)]
public int SubVersion;
}
因此,给定字节位图00100001,它将在两个字段中打印出值为“1”的结构,即001表示版本,00001表示SubVersion。