我想知道是否可以在编译时使用 Afterthought 向类添加属性。我知道 PostSharp 可以做到这一点,但事后思考,我只能看到属性的属性修改。我想做这样的事情。
[AddStructLayout]
class Foo
{
float A;
float B;
}
应该生成
[Struct;StructLayout(Explicit)]
class Foo
{
[FieldOffset(0)]
float A;
[FieldOffset(16)]
float B;
}
我的用例是将类上的 StructLayout 属性和 FieldOffset 属性添加到我的类中的字段,以以特定方式强制执行内存布局。确切的布局规则由方面决定。
谢谢约翰