Обновить

Комментарии 8

НЛО прилетело и опубликовало эту надпись здесь

Вы не понимаете, на самом деле нет правильных практик

НЛО прилетело и опубликовало эту надпись здесь

Спасибо за статьи. Жду продолжения.

Вопрос про "Способы реализации общей функциональности" вариант "первый", добавление общего кода в выдачу генератора. Как-то можно проверить, что в контексте уже присутствует атрибут IncludeIntoList (который подтянулся через нугет пакет, тоже использующий этот генератор) и не добавлять его в общую выдачу?

Простите за задержку с ответом, и спасибо что прочитали =)

Про способы реализации общей функциональности это интересное предложение, я запишу себе проверить и либо дополню эту часть, либо предложу улучшение в следующей.

Я посмотрел и, насколько я понимаю, это невозможно. Здесь есть нюанс, связанный с тем, что генератор не может обращаться к коду, который является его же результатом. Есть исключение -- генератору виден код, добавленный в RegisterPostInitializationOutput, но там нет никакой возможности проверить наличие или отсутствие типа в Compilation (например, при помощи GetTypeByMetadataName).

Конечно вполне возможно что я ошибаюсь, но на текущий момент я никакой возможности для реализации такой функциональности не вижу.

Все еще жду 3 часть

Простите пожалуйста, от неё пока есть только оглавление. Я всё ещё собираюсь написать, но времени совершенно никак не хватает.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации