Привет всем!
Пытаюсь написать макроатрибут, который бы делал класс наследуемым от некоторого базового класса.
Вот так работает
[Nemerle.MacroUsage( Nemerle.MacroPhase.BeforeInheritance,
Nemerle.MacroTargets.Class,
Inherited = false )]
macro Inherer( typeBuilder : TypeBuilder )
{
typeBuilder.AddImplementedInterface( <[ My.Name.Space.BaseClass ]> );
}
а так нет
[Nemerle.MacroUsage( Nemerle.MacroPhase.BeforeInheritance,
Nemerle.MacroTargets.Class,
Inherited = false )]
macro Inherer( typeBuilder : TypeBuilder )
{
def baseClassName = "My.Name.Space.BaseClass";
typeBuilder.AddImplementedInterface( <[ $(baseClassName : usesite) ]> );
}
Получаем unbound type name 'My.Name.Space.BaseClass'
В чём может быть проблема со втрорым вариантом?
Спасибо.