баги вариантов в квазицитатах
От: CodingUnit Россия  
Дата: 20.07.11 10:57
Оценка:
Наткнулся не непонятности с вариантами, все дело в том что понадобилось создать вариант в макросе уровня класса, добавить вариант можно так обычным способом
<[ variant Test {} ]>

, но нужно добавлять динамически VariantOption пытался сделать квазицитатой:
<[decl: | $(name : usesite) {} ]>

, но он распознает это как EnumOption, вопрос первый как создать цитату VariantOption ?

Далее пытался создать обходными путями например так:
создать пустышку
def td= <[
  variant Dummy 
  {
    | $(name : usesite) {}
  } ]>;
def opt = td.td.GetMembers().Head;

def opts = // .. собираем множество options
def decl=<[ variant Test 
{
  ..$opts
} ]>;


но после когда запускаем ty.DefineNested(decl).Compile();
Выдается NRE связанное с ошибкой внутренних структур TypeBuilder, которое не знаю как исправить, боюсь что и в любых других способах добавления variant option будет NRE, есть ли у сообщества мысли по поводу решения этой проблемы?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.