StructLayout仅适用于struct?

5Yr*_*DBA 14 c#

我注意到有很多地方我们有这样的东西:

[StructLayout(LayoutKind.Sequential, Pack = 1)]
    public class E2H_LANEFIND_DATA_T
    {
....
}
Run Code Online (Sandbox Code Playgroud)

类定义用StructLayout.是的还是StructLayout仅适用于struct

Mar*_*off 19

文件明确指出:

您可以将此属性应用于类或结构.

通常,公共语言运行库控制托管存储器中类或结构的数据字段的物理布局.但是,如果要以某种方式排列类或结构需求,可以使用StructLayoutAttribute.如果要将类传递给需要特定布局的非托管代码,则显式控制类布局非常重要.

重点是我的.

在这种情况下要做的主要考虑因素是您是希望按值还是通过引用传递实例,在这种情况下,您将分别使用结构或类.