Генератор кода C# [закрывается]

12
задан abatishchev 29 March 2010 в 06:36
поделиться

5 ответов

12
ответ дан 2 December 2019 в 06:08
поделиться

T4 или Text Template Transformation Toolkit , возможно, стоит изучить.

Другой вариант - создать собственный простой генератор, который содержит функции, более подходящие для вашей ситуации, чем CodeDOM. В недавнем проекте генерации кода это то, что я сделал, однако я инкапсулировал генерацию кода, чтобы в дальнейшем можно было перейти на CodeDOM.

7
ответ дан 2 December 2019 в 06:08
поделиться

Если вы хотите иметь возможность сгенерировать класс по некоторой произвольной строке, содержащей код C #, вам понадобится компилятор C #. На данный момент платформа .Net не поставляется с компилятором, которому вы можете передавать фрагменты C # и получать обратно скомпилированный код. Если у вас есть более конкретные потребности, вы должны точно указать, чем вы хотите заниматься.

0
ответ дан 2 December 2019 в 06:08
поделиться

Вы можете посмотреть csscript , основанный на CodeDOM.

Это позволяет вам писать такие вещи, как:

var PrintSum = CSScript.LoadMethod(
        @"public static void PrintSum(int a, int b)
          {
              Console.WriteLine((a+b));
          }")
          .GetStaticMethod();
PrintSum(1, 2);

Обязательно прочтите документ, он довольно подробный, и вы обнаружите, что можете сделать намного больше, чем то, что я только что скопировал.

6
ответ дан 2 December 2019 в 06:08
поделиться

Поскольку вы явно ищете генератор кода с открытым исходным кодом, я предлагаю MyGeneration . Другой подход, основанный на шаблонах (который не является тем, что вы ищете, поскольку вам нужен синтаксис «GenClass.Add ....», а не шаблоны) - это Codesmith Tools , это действительно мощный, но закрытый исходный код.

0
ответ дан 2 December 2019 в 06:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: