次の構造を作成しようとしています。
[StructLayout(LayoutKind.Explicit, Size=14)]
public struct Message
{
[FieldOffset(0)]
public ushort X;
[FieldOffset(2)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst=5)]
private ushort[] Y;
[FieldOffset(12)]
public ushort Z;
}
次のエラーが発生します。
タイプ「メッセージ」をアセンブリからロードできませんでした。これは、オフセット4にオブジェクトフィールドが含まれているため、オブジェクトフィールドが正しく配置されていないか、非オブジェクトフィールドとオーバーラップしています。
なぜこれがエラーを引き起こしているのか誰かが知っていますか?
注:コンパクトフレームワークを使用しているため、Packを使用できません。ありがとう。