Использование Roslyn для разбора / преобразования / генерации кода: я стремлюсь слишком высоко или слишком низко?

(То, что я пытаюсь сделать, это работать вокругApplication.Settings / MVVM проблема, связанная с созданием интерфейса и класса-оболочки из файла настроек, созданного vs.)

Что я хотел бы сделать, это:

Разобрать объявление класса из файлаСоздайте объявление интерфейса на основе только (не статических) свойств классаСоздайте класс-оболочку, который реализует этот интерфейс, берет экземпляр исходного класса в конструкторе и «передает» все свойства через экземпляр.Создайте другой класс, который реализует интерфейс напрямую.

У меня вопрос двоякий:

Я лаю не на том дереве? Будет ли мне лучше использовать Code-Dom, T4, Regex (!) Для этого или его часть? (Я не против немного дополнительной работы, так как это в основном опыт обучения.)Если Рослин - это путь, на какой кусочек я должен смотреть? Я наивно надеялся, что будет какой-то способ пройтись по дереву и выплюнуть только те кусочки, которые я хочу, но у меня возникают проблемы с тем, чтобы разобраться, нужно ли / как использовать для этого SyntaxRewriter или используйте свободную конструкцию, запрашивая источник несколько раз для нужных мне битов.

Если вы хотите прокомментировать аспект MVVM, вы можете, но это не главное направление вопроса :)

Ответы на вопрос(4)

Ваш ответ на вопрос