我想要一种 c 风格的 uion whithin ac# struct 类型。
出于某种原因,每次分配我定义的类型时都会出现异常。这是我自己的类型。基本思想是我可以访问这个结构的“指针”。不幸的是,我得到了一个异常 TypeLoadException:
附加信息:无法从程序集“ManagedTarget,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”加载类型“ManagedTarget.FngPeriodeParameterType”,因为它包含偏移量 0 处的对象字段,该对象字段不正确地对齐或重叠。对象字段。
怎么了?
[StructLayout(LayoutKind.Explicit, Size = 16)]
unsafe internal struct FngPeriodeParameterType
{
[FieldOffset(0)]
public Byte[] ByteArray;
[FieldOffset(0)]
public UInt32 Repetitions;
[FieldOffset(4)]
public Int16 Amplitude;
[FieldOffset(6)]
public Int16 Offset;
[FieldOffset(8)]
public Int16 Gain;
[FieldOffset(10)]
public UInt16 Selection;
[FieldOffset(12)]
public UInt32 Step;
}