Могу ли я использовать Roslyn для перезаписи тайм-кода компиляции?

StackOverflow https://stackoverflow.com/questions/7833954

Вопрос

Например, у меня

родовое слово

Могу ли я получить AST класса Foo и переписать Bar во время компиляции, чтобы

родовое слово

.

Это было полезно?

Решение

Перезапись времени компиляции прямо сейчас не поддерживается Roslyn, но синтаксические и семантические преобразования определенно поддерживаются.Фактически, взгляните на образец «ImplementNotifyPropertyChanged», включенный в CTP, чтобы увидеть что-то из того, что вы хотите сделать.Образец реализован как преобразование времени разработки и функция IDE, но вы можете извлечь логику и превратить ее в нечто вроде задачи предварительной сборки, которая перезаписывает файлы перед компиляцией.

Другие советы

Я не думаю, что это возможно в текущей версии CTP, которая была выпущена, поскольку компилятор существует как услуга, но нет такой вещи, которая позволяла бы вам подключиться к процессу компиляции, как вы можете сделать в Nemerle.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top