如何全局设置c#struct属性(StructLayoutAttribute)?

时间:2014-03-10 11:18:35

标签: pinvoke

我正在开发一个c#p / invoke项目并定义了很多结构。对于每个结构,我正在使用:

    [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 1)]

但是现在我只想设置属性( Pack = 1 )一次,以便我的所有结构共享相同的设置,我该怎么做?

谢谢, 费

1 个答案:

答案 0 :(得分:1)

你做不到。没有全局转换。您必须在每个结构上明确设置Pack

您可以通过添加using声明并撰写StructLayout而不是StructLayoutAttribute来至少使代码更简洁:

using System.Runtime.InteropServices;

....
[StructLayout(LayoutKind.Sequential, Pack = 1)]