Asa*_*saf 5 c# struct memory-layout
我正在定义要通过不同设备和不同编程语言之间的通信通道接收和发送的结构.为此,我使用StructLayoutAttribute(顺序,pack = 1 - 在重要的情况下)在内存中明确定义它们的布局.
从文档中,我知道当struct只包含字段时它可以工作.它似乎也适用于'简单'属性(使用空get; set;).但是我不知道是不是总是如此.
所以我关于StructLayoutAttribute对属性的影响的问题分为两个:
属性没有存储空间。StructLayoutAttribute根本不影响他们。
自动属性访问生成的支持字段,该字段受制于StructLayoutAttribute(因为所有字段都受制于该属性)。然而这些字段的顺序没有定义。
由于仅计算值的 get-property 没有存储空间,因此不会对其进行封送。