CLR控制字段的布局
来源:互联网 发布:mt4行情交易软件 编辑:程序博客网 时间:2024/06/01 09:06
为了提高性能,CLR能按照它所选择的任何方式来排列类型的字段。为了向CLR发出指示,需要在定义的类或者结构上应用System.Runtime.InteropServices.StructLayoutAttribute属性。可以向这个属性的构造器传递LayoutKind.Auto,让CLR自动排列字段;或者传递LayoutKind.Sequential,让CLR保持我们的字段布局;或者传递LayoutKind.Explicit,并用偏移量在内存中显示地排列字段的顺序。在编程人员定义的类型上,如果不能显示地指定StructLayoutAttribute,编译器会选择它自己认为最好的布局。
C#编译器会默认为引用类型选择LayoutKind.Auto,默认为值类型选择LayoutKind.Sequential。
例如,
在一个类型中,一个引用类型和一个值类型互相重叠是非法的。在一个类型中,虽然允许多个引用类型在同一个起始偏移位置处相互重叠,但这是无法验证的。如果定义一个类型,并让其中的多个值类型相互重叠,则是合法的;不过,所有重叠的字节都必须能通过公共字段访问,使类型能够验证。一个字段假如在一个值类型中是私有的 ,但在另一个重叠的值类型中是公共的,类型就无法验证。
- CLR控制字段的布局
- CLR 中类型字段的运行时内存布局 (Layout) 原理浅析 [2]
- CLR 中类型字段的运行时内存布局 (Layout) 原理浅析 [1]
- 探索CLR原理系列(2):字段在内存中的布局
- Android的布局控制
- [原创]探索CLR原理系列(2):字段在内存中的布局 (适合老鸟,新人勿沉迷其中)
- 再谈CLR:CLR的版本
- 控制UI布局的方式
- 修改Webdynpro屏幕字段的布局
- CLR笔记:7.常量和字段
- ASP中控制字段长度的函数
- ALV特定字段的颜色控制
- django控制字段可空的办法
- C#中有关字段的访问控制
- 布局控制
- CLR笔记:1.CLR的执行模型
- CLR基础---CLR的执行模式(二)
- CLR基础---CLR的执行模式(一)
- 如何区别PeekMessage&GetMessage SendMessage&PostMessage
- 有助于理解C语言一些函数的面试题
- 【标题】
- 在Ubuntu中用Android NDK编译FFmpeg
- Oracle数据库 【SYNONYM 同义词 シノニム】
- CLR控制字段的布局
- 检测air运行环境版本
- Pacific Timesheet Named to American Top Business List
- 1231. The Embarrassed Cryptography 可恶的边界
- 进程和线程的区别
- Oracle维护常用SQL语句汇总
- Qt程序等待/睡眠的正确方法
- MFC下让控件具有XP风格
- 怎么开始内核的学习