Проблема с наследованием в макросе
От: SergASh  
Дата: 04.10.07 15:58
Оценка:
Привет всем!

Пытаюсь написать макроатрибут, который бы делал класс наследуемым от некоторого базового класса.

Вот так работает
[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'

В чём может быть проблема со втрорым вариантом?

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.