Pull to refresh

Comments 6

UFO just landed and posted this here

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

UFO just landed and posted this here

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

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

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

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

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

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

Sign up to leave a comment.

Articles