Можно ли изменить атрибут класса с помощью Afterthought

Я хотел бы знать, возможно ли добавить атрибуты в класс во время компиляции с помощью Afterthought. Я знаю, что это возможно с PostSharp, но для Afterthought я вижу только изменения атрибутов в свойствах. Я хотел бы сделать что-то вроде этого.

[AddStructLayout]
class Foo
{
    float A;
    float B;
}

должен генерировать

[Struct;StructLayout(Explicit)]
class Foo
{
    [FieldOffset(0)]
    float A;
    [FieldOffset(16)]
    float B;
}

Мой вариант использования заключается в добавлении атрибута StructLayout в класс и атрибуты FieldOffset к полям в моем классе, чтобы обеспечить конкретное применение схемы памяти. Точные правила компоновки определяются аспектом.

Спасибо Йохан

0 ответов

Другие вопросы по тегам