CodeDomProvider.GetCompilerInfo(String) Método

Definição

Retorna as configurações de compilador e de provedor de linguagem de programação para a linguagem de programação especificada.

public:
 static System::CodeDom::Compiler::CompilerInfo ^ GetCompilerInfo(System::String ^ language);
public static System.CodeDom.Compiler.CompilerInfo GetCompilerInfo (string language);
[System.Runtime.InteropServices.ComVisible(false)]
public static System.CodeDom.Compiler.CompilerInfo GetCompilerInfo (string language);
static member GetCompilerInfo : string -> System.CodeDom.Compiler.CompilerInfo
[<System.Runtime.InteropServices.ComVisible(false)>]
static member GetCompilerInfo : string -> System.CodeDom.Compiler.CompilerInfo
Public Shared Function GetCompilerInfo (language As String) As CompilerInfo

Parâmetros

language
String

Um nome de linguagem de programação.

Retornos

Um objeto CompilerInfo populado com as configurações da implementação de CodeDomProvider configurada.

Atributos

Exceções

O language não tem um provedor configurado neste computador.

O language é null.

O chamador não tem a permissão necessária.

Exemplos

O exemplo de código a seguir determina a CodeDomProvider implementação de um idioma de entrada e exibe as configurações definidas para o provedor de idiomas. Este exemplo de código faz parte de um exemplo maior fornecido para a CompilerInfo classe .

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

Comentários

O <elemento system.codedom> no arquivo de configuração do computador contém as definições de configuração do provedor de linguagem e do compilador para cada CodeDomProvider implementação no computador. Para obter informações sobre arquivos de configuração de computador, consulte a seção Arquivos de Configuração do Computador em Configurando Aplicativos. O GetCompilerInfo método pesquisa cada elemento de configuração do provedor para o nome do idioma especificado. A instância retornada CompilerInfo contém as configurações definidas do provedor de idiomas e do compilador.

O IsDefinedLanguage método verifica se pelo menos uma implementação de provedor dá suporte a um idioma específico. Você pode validar um nome de idioma usando IsDefinedLanguage antes de passá-lo para GetCompilerInfo. Isso impede a criação de um System.Configuration.ConfigurationException quando você acessa a CompilerInfo instância para um nome de idioma sem suporte.

Se mais de uma implementação de provedor estiver configurada para o nome da linguagem de entrada, GetCompilerInfo retornará as configurações do último elemento de configuração do provedor correspondente.

Os nomes de idioma não diferenciam maiúsculas de minúsculas.

Aplica-se a

Confira também