Есть макрос Viewmodel, который совершает некоторые преобразования над членами класса. Теперь мне нужно обойти сгенерированные для него "lambda" классы и провести преобразования над ними. Чтобы это сделать, мне нужно дождаться, пока они будут полностью инициализированы.
Один из вариантов, это внутри первого макроса обойти все сгенерированные классы и повесить на них макроаттрибут. А дальше уже из второго макроса заниматься проебразованиями.
Добавляю макроаттрибут в цикле
t.GetModifiers().AddCustomAttribute(<[ Nemerle.WUI.Reactive.GeneratedClass ]>)
Сам макрос
[MacroUsage(MacroPhase.BeforeTypedMembers, MacroTargets.Class)]
public macro GeneratedClass(tb : TypeBuilder)
{
GeneratedClassImpl.DoTransformBeforeTypedMembers(tb, Macros.ImplicitCTX())
}
Пишет:
error : the custom attribute `Nemerle.WUI.Reactive.GeneratedClass' could not be found or is invalid
Макрос объявлен в Nemerle.WUI.Reactive.
Может быть тут надо не через AddCustomAttribute, а через что-то другое?