Привет всем!
Пытаюсь из макроса построить два класса, связанных наследованием. В простом случае всё работает, а если класть эти классы в отдельное пространство имён по рецепту Влада, то получаю ошибку
unbound type name 'MyBase'
Вот пример
def env = ImplicitCTX().Env;
def env = GlobalEnv( "Test.Hidden&", env.Manager ); // Если это убрать, то работает, но так всё будет в том же NS, что и класс под атрибутом. Не хорошо.
def tb1 = env.Define(
<[decl:
public class MyBase
{
}
]> );
tb1.Compile();
def tb2 = env.Define(
<[decl:
public class MyDerived : MyBase // Пробовал и полностью квалифицированное имя. Не помогло.
{
}
]> );
tb2.Compile();
Подозреваю, что я недостаточно информации передал через закодированную строку конструктору GlobalEnv. Но что ещё туда надо класть — не знаю.
Пространство имён Test.Hidden в проекте есть, причём не пустое, а с классами.
Спасибо.
PS. Надеюсь, я ещё не всех достал тут своими вопросами. Уж очень хочется разобраться с макросами.