CodeDomProvider.GetCompilerInfo(String) Metodo

Definizione

Restituisce le impostazioni di configurazione del compilatore e del provider del linguaggio per il linguaggio specificato.

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

Parametri

language
String

Nome di linguaggio.

Restituisce

Oggetto CompilerInfo in cui sono inserite le impostazioni dell'implementazione della classe CodeDomProvider configurata.

Attributi

Eccezioni

language non è associato a un provider configurato nel computer.

L'elemento language è null.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

L'esempio di codice seguente determina l'implementazione CodeDomProvider per una lingua di input e visualizza le impostazioni configurate per il provider di linguaggio. Questo esempio di codice fa parte di un esempio più grande fornito per la 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

Commenti

L'elemento< system.codedom> nel file di configurazione del computer contiene le impostazioni di configurazione del provider di linguaggio e del compilatore per ogni CodeDomProvider implementazione nel computer. Per informazioni sui file di configurazione del computer, vedere la sezione File di configurazione del computer in Configurazione delle app. Il GetCompilerInfo metodo cerca ogni elemento di configurazione del provider per il nome della lingua specificato. L'istanza restituita CompilerInfo contiene il provider di linguaggio e le impostazioni del compilatore configurate.

Il IsDefinedLanguage metodo verifica se almeno un'implementazione del provider supporta un linguaggio specifico. È possibile convalidare un nome della lingua usando IsDefinedLanguage prima di passarlo a GetCompilerInfo. Ciò impedisce di generare un oggetto System.Configuration.ConfigurationException quando si accede all'istanza CompilerInfo per un nome di lingua non supportato.

Se più implementazioni del provider sono configurate per il nome della lingua di input, GetCompilerInfo restituisce le impostazioni dall'ultimo elemento di configurazione del provider corrispondente.

I nomi della lingua sono senza distinzione tra maiuscole e minuscole.

Si applica a

Vedi anche