Мне нравится синтаксис макросов Nemerle намного лучше, чем T4. Есть ли какие-либо примеры или можно использовать Nemerle для генерации кода C#, который затем используется фактическим компилятором Microsoft C# для ввода аналогично T4. Благодарю.Примеры Nemerle для генерации кода C#, такого как T4
ответ
Матрицы Nemerle не генерируют код, а изменяют абстрактное синтаксическое дерево программы по мере ее компиляции. Однако компилятор Nemerle может читать C#, и вы даже можете использовать макросы Nemerle в этих файлах C#.
Возможно создание шаблона Nemerle для C#. Но сгенерированный код будет уродливым (не читаемым).
Любой пример этого? –
Например, данный код Nemerle: match (a) {| X (некоторые (t)) => .. | X, когда someVar == 1 | _ => ...} Он создает огромное количество кода с большим количеством проверок. Вы можете попробовать декомпилировать Nemerle.dll и посмотреть это. –
Я знаю, что этот ответ не имеет никакого значения, но есть Nemerle в Javascript компилятором NemerleWeb
Аналогичная методика может быть использована для создания файлов C#.
Да, я понимаю это о Nemerle, но я надеялся, что кто-то знает, как это сделать. ToString или что-то в этом роде, чтобы я мог получить C#, который бы расширили макросы. Спасибо –
Вы можете использовать Reflector или ILSpy для генерации кода C# из скомпилированной сборки. Совсем не так, как делать '.ToString()' в AST. –