Добавить к классу аттрибут из макроса
От: Аноним  
Дата: 08.02.07 18:07
Оценка:
Возможно ли такое:
class SomeAttribute : Attribute {}

[Foo]
class Bar {}

[Nemerle.MacroUsage (Nemerle.MacroPhase.BeforeInheritance, Nemerle.MacroTargets.Class)]
macro Foo (tb : TypeBuilder)
{
  // Тут надо добавить аттрибут SomeAttribute к классу Bar. Как?
}

чтобы в результате получилось
[SomeAttribute]
class Bar {}
Re: Добавить к классу аттрибут из макроса
От: Алексей П Россия  
Дата: 08.02.07 20:24
Оценка: 31 (1)
Здравствуйте, <Аноним>, Вы писали:

А>Возможно ли такое:

А>
А>class SomeAttribute : Attribute {}

А>[Foo]
А>class Bar {}

А>[Nemerle.MacroUsage (Nemerle.MacroPhase.BeforeInheritance, Nemerle.MacroTargets.Class)]
А>macro Foo (tb : TypeBuilder)
А>{
А>  // Тут надо добавить аттрибут SomeAttribute к классу Bar. Как?
А>}
А>

А>чтобы в результате получилось
А>
А>[SomeAttribute]
А>class Bar {}
А>


Да. вот так:
tb.GetModifiers().AddCustomAttribute(<[ SomeAttribute ]>);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.