Список языков, которые вы можете компилировать во время выполнения в C#

Пример Запуск введенного пользователем кода в C# показывает как позволить пользователю вводить код C#, компилировать во время выполнения и выполнять результат, но как вы знаете, какие языки вы можете скомпилировать таким образом? Вы можете догадаться, что C# и Visual Basic, но вы также можете скомпилировать другие языки.

В этом примере используется следующий код для перечисления языков, которые вы можете компилировать во время выполнения, с помощью класса CodeDomProvider.

Программа использует метод CodeDomProvider класса GetAllCompilerInfo для получения информации о доступных компиляторах. Затем он перебирает возвращаемую информацию. Для каждого объекта CompilerInfo программа проверяет свойство объекта IsCodeDomProviderValid объекта, чтобы убедиться, что компилятор действительно действителен на компьютере. Если компилятор действителен, код отображает информацию об этом компиляторе.

Чтобы отобразить информацию о компиляторе, код сначала создает поставщика для этого компилятора и отображает его имя. Затем он перебирает поддерживаемые расширения поставщика, перечисляя их. Он добавляет текст «(по умолчанию)» после расширения по умолчанию поставщика.

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

Наконец, в коде перечислены параметры и уровень предупреждения компилятора.

Источник: http://csharphelper.com/blog/2016/11/list-languages-that-you-can-compile-at-runtime-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *