Поделиться через


CodeDomProvider.IsDefinedLanguage(String) Метод

Определение

Проверяет, имеется ли связанная ли с данным языком реализация CodeDomProvider, настроенная на данном компьютере.

public:
 static bool IsDefinedLanguage(System::String ^ language);
public static bool IsDefinedLanguage (string language);
[System.Runtime.InteropServices.ComVisible(false)]
public static bool IsDefinedLanguage (string language);
static member IsDefinedLanguage : string -> bool
[<System.Runtime.InteropServices.ComVisible(false)>]
static member IsDefinedLanguage : string -> bool
Public Shared Function IsDefinedLanguage (language As String) As Boolean

Параметры

language
String

Имя языка.

Возвращаемое значение

true, если реализация CodeDomProvider настроена для заданного языка; в противном случае — false.

Атрибуты

Исключения

Значение параметра languagenull.

У вызывающего объекта отсутствует необходимое разрешение.

Примеры

В следующем примере кода определяется CodeDomProvider реализация языка ввода и отображаются настроенные параметры для поставщика языка. Этот пример входит в состав более крупного примера использования класса CompilerInfo.

CodeDomProvider^ provider = nullptr;

// Check for a provider corresponding to the input language.  
if ( CodeDomProvider::IsDefinedLanguage( language ) )
{
   provider = CodeDomProvider::CreateProvider( language );
   if ( provider )
   {
      // Display information about this language provider.
      Console::WriteLine( "Language provider:  {0}", provider->ToString() );
      Console::WriteLine();
      Console::WriteLine( "  Default file extension:  {0}", provider->FileExtension );
      Console::WriteLine();
      
      // Get the compiler settings for this language.
      CompilerInfo^ langCompilerInfo = CodeDomProvider::GetCompilerInfo( language );
      if ( langCompilerInfo )
      {
         CompilerParameters^ langCompilerConfig = langCompilerInfo->CreateDefaultCompilerParameters();
         if ( langCompilerConfig )
         {
            Console::WriteLine( "  Compiler options:        {0}", langCompilerConfig->CompilerOptions );
            Console::WriteLine( "  Compiler warning level:  {0}", langCompilerConfig->WarningLevel.ToString() );
         }
      }
   }
}

if ( provider == nullptr )  // Tell the user that the language provider was not found.
   Console::WriteLine(  "There is no provider configured for input language \"{0}\".", language );
CodeDomProvider provider;

// Check for a provider corresponding to the input language.
if (CodeDomProvider.IsDefinedLanguage(language))
{
    provider = CodeDomProvider.CreateProvider(language);

    // Display information about this language provider.

    Console.WriteLine("Language provider:  {0}",
        provider.ToString());
    Console.WriteLine();
    Console.WriteLine("  Default file extension:  {0}",
        provider.FileExtension);
    Console.WriteLine();

    // Get the compiler settings for this language.

    CompilerInfo langCompilerInfo = CodeDomProvider.GetCompilerInfo(language);
    CompilerParameters langCompilerConfig = langCompilerInfo.CreateDefaultCompilerParameters();

    Console.WriteLine("  Compiler options:        {0}",
        langCompilerConfig.CompilerOptions);
    Console.WriteLine("  Compiler warning level:  {0}",
        langCompilerConfig.WarningLevel);
}
else
{
    // Tell the user that the language provider was not found.
    Console.WriteLine("There is no provider configured for input language \"{0}\".",
        language);
}
Dim provider As CodeDomProvider

' Check for a provider corresponding to the input language.  
If CodeDomProvider.IsDefinedLanguage(language) Then
   provider = CodeDomProvider.CreateProvider(language)
   
   ' Display information about this language provider.
   Console.WriteLine("Language provider:  {0}", _
       provider.ToString())
   Console.WriteLine()
   Console.WriteLine("  Default file extension:  {0}", _
       provider.FileExtension)
   Console.WriteLine()
   
   ' Get the compiler settings for this language.
   Dim langCompilerInfo As CompilerInfo = CodeDomProvider.GetCompilerInfo(language)
   Dim langCompilerConfig As CompilerParameters = langCompilerInfo.CreateDefaultCompilerParameters()
   
   Console.WriteLine("  Compiler options:        {0}", _
       langCompilerConfig.CompilerOptions)
   Console.WriteLine("  Compiler warning level:  {0}", _
       langCompilerConfig.WarningLevel)
Else
   ' Tell the user that the language provider was not found.
   Console.WriteLine("There is no provider configured for input language ""{0}"".", _
       language)
End If

Комментарии

Элемент< system.codedom> в файле конфигурации компьютера (Machine.config) содержит параметры конфигурации поставщика языка и компилятора для каждой CodeDomProvider реализации на компьютере. Метод IsDefinedLanguage выполняет поиск указанного имени языка в элементах конфигурации поставщика.

В именах языков регистр не учитывается.

Применяется к

См. также раздел