Управление .NET компилятором
В этой главе:
- Эволюция компиляторов
- Использование Roslyn API для генерации кода
К настоящему времени, мы надеемся, вы поняли, что метапрограммирование в .NET не только возможно, а более того – вы всегда должны рассматривать возможность его использования при создании новых приложений. Метапрограммирование требует больших временных и других затрат, чем «нормальная» .NET разработка, но в результате вы получаете краткий, многоразовый, динамический код. Одной повторяющейся темой этой книги является использование фреймворков для поддержки этих технологий: фреймворков, которые предоставляют много мощи, но не появляются с установкой .NET. С Project Roslyn, фреймворком от Microsoft, который позволяет компилировать C# или VB код при помощи управляемого API, это изменится в лучшую сторону.
В этой главе приведен краткий обзор истории компиляторов в мире Microsoft, как они работали в прошлом, и того, что делает Roslyn, чтобы изменить эту традиционную архитектуру. Вы также увидите основные возможности Roslyn API, которые помогут вам понять, как вы сможете использовать Roslyn для поддержки техник метапрограммирования, обсуждаемых в этой книге. Наконец, вы увидите, как Roslyn может упростить программный анализ.
Во-первых, давайте посмотрим, что делает Roslyn, чтобы изменить мир компиляторов в .NET.