我不确定这是否正确,但是,如果我没有记错的话,并集是[StructLayout(LayoutKind.Explicit)]
结构,其中2个或更多元素在相同的字段偏移量上。
所以,如果我有这个:
typedef union _FILE_SEGMENT_ELEMENT {
PVOID64 Buffer;
ULONGLONG Alignment;
}
这在C#中应为:
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Explicit)]
public struct FileSegmentElement
{
[FieldOffset(0)]
public IntPtr Buffer;
[FieldOffset(0)]
public ulong Alignment;
}
还是这不正确?