如何将C联合转换为C#?

时间:2018-09-15 11:43:27

标签: c# union

我不确定这是否正确,但是,如果我没有记错的话,并集是[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;
}

还是这不正确?

0 个答案:

没有答案