CodeDomProvider.GetCompilerInfo(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.