我正在开发一个c#p / invoke项目并定义了很多结构。对于每个结构,我正在使用:
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 1)]
但是现在我只想设置属性( Pack = 1 )一次,以便我的所有结构共享相同的设置,我该怎么做?
谢谢, 费
答案 0 :(得分:1)
你做不到。没有全局转换。您必须在每个结构上明确设置Pack
。
您可以通过添加using
声明并撰写StructLayout
而不是StructLayoutAttribute
来至少使代码更简洁:
using System.Runtime.InteropServices;
....
[StructLayout(LayoutKind.Sequential, Pack = 1)]