Share via


CodeDomProvider.GetCompilerInfo(String) Método

Definición

Devuelve la configuración del proveedor y compilador del lenguaje especificado.

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

Nombre de lenguaje.

Devoluciones

Objeto CompilerInfo que contiene los valores de configuración de la implementación de CodeDomProvider configurada.

Atributos

Excepciones

language no tiene un proveedor configurado en este equipo.

El valor de language es null.

El llamador no dispone del permiso requerido.

Ejemplos

En el ejemplo de código siguiente se determina la CodeDomProvider implementación de un idioma de entrada y se muestran los valores configurados para el proveedor de idioma. Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase 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

Comentarios

El <elemento system.codedom> del archivo de configuración de la máquina contiene los valores de configuración del proveedor de idioma y del compilador para cada CodeDomProvider implementación del equipo. Para obtener información sobre los archivos de configuración de la máquina, consulte la sección Archivos de configuración de la máquina en Configuración de aplicaciones. El GetCompilerInfo método busca en cada elemento de configuración del proveedor el nombre de idioma especificado. La instancia devuelta CompilerInfo contiene los valores configurados del proveedor de lenguaje y del compilador.

El IsDefinedLanguage método comprueba si al menos una implementación del proveedor admite un lenguaje específico. Puede validar un nombre de idioma mediante IsDefinedLanguage antes de pasarlo a GetCompilerInfo. Esto evita la iniciación System.Configuration.ConfigurationException de cuando se accede a la CompilerInfo instancia de para un nombre de idioma no admitido.

Si se configura más de una implementación del proveedor para el nombre del idioma de entrada, GetCompilerInfo devuelve la configuración del último elemento de configuración del proveedor coincidente.

Los nombres de idioma no distinguen mayúsculas de minúsculas.

Se aplica a

Consulte también