您的位置:首页 > 其它

StructLayoutAttribute常用于需要导出到非托管内存的对象

2016-08-02 14:12 375 查看
StructLayoutAttribute常用于需要导出到非托管内存的对象
控制类或结构中字段的物理布局
例:
用指定的 System.Runtime.InteropServices.LayoutKind 枚举成员初始化 StructLayoutAttribute 类的新实例。

默认情况下,公共语言运行库将使用 LayoutKind.Auto 布局值,使用此枚举成员定义的对象不能在托管代码的外部公开。

// 按成员出现的顺序依次布局
[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
public int x;
public int y;
}

// 显式控制此结构的各个成员
[StructLayout(LayoutKind.Explicit)]
public struct RECT
{
[FieldOffset(0)] public int left;
[FieldOffset(4)] public int top;
[FieldOffset(8)] public int right;
[FieldOffset(12)] public int bottom;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐