вызов конструктора класса из макроса
От: Аноним  
Дата: 08.11.12 11:40
Оценка:
Добрый день
Постоянно требуется создавать экземпляр класса, который сидит в TypeVar "переменной"

Сейчас воткнул костыли вроде

def className = PExpr.FromQualifiedIdentifier(t.TypeInfo.FullName);
<[def somevar = $className();]>;


Стойкое ощущение, что это слишком типовая задача и есть более верный и менее многословный путь. Как правильно это делать?
Re: вызов конструктора класса из макроса
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.11.12 00:23
Оценка: 4 (1)
Здравствуйте, Аноним, Вы писали:

А>Стойкое ощущение, что это слишком типовая задача и есть более верный и менее многословный путь. Как правильно это делать?


Приведенный тобой способ как раз самый простой из существовавших по сей день.

Согласен, что можно было бы упростить эту задачу. Поколупался в компиляторе и реализовал поддержку вызова конструктора через сплайс $(x : typed):
def t : FixedType.Class = ...;
<[ $(t : typed)()]>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: вызов конструктора класса из макроса
От: Аноним  
Дата: 09.11.12 12:34
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Аноним, Вы писали:


А>>Стойкое ощущение, что это слишком типовая задача и есть более верный и менее многословный путь. Как правильно это делать?


VD>Приведенный тобой способ как раз самый простой из существовавших по сей день.


VD>Согласен, что можно было бы упростить эту задачу. Поколупался в компиляторе и реализовал поддержку вызова конструктора через сплайс $(x : typed):

VD>
VD>def t : FixedType.Class = ...;
VD><[ $(t : typed)()]>
VD>


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