Freigeben über


CodeDomProvider.GetCompilerInfo(String) Methode

Definition

Gibt die Sprachanbieter- und Compilerkonfigurationseinstellungen für die angegebene Sprache zurück.

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

Parameter

language
String

Der Name einer Sprache.

Gibt zurück

Ein mit Einstellungen der konfigurierten CompilerInfo-Implementierung aufgefülltes CodeDomProvider-Objekt.

Attribute

Ausnahmen

language verfügt auf diesem Computer über keinen konfigurierten Anbieter.

language ist null.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Beispiele

Das folgende Codebeispiel bestimmt die CodeDomProvider Implementierung für eine Eingabesprache und zeigt die konfigurierten Einstellungen für den Sprachanbieter an. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die CompilerInfo-Klasse bereitgestellt wird.

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

Hinweise

Das <system.codedom-Element> in der Computerkonfigurationsdatei enthält die Konfigurationseinstellungen des Sprachanbieters und des Compilers für jede CodeDomProvider Implementierung auf dem Computer. Informationen zu Computerkonfigurationsdateien finden Sie im Abschnitt Computerkonfigurationsdateien unter Konfigurieren von Apps. Die GetCompilerInfo -Methode durchsucht jedes Anbieterkonfigurationselement nach dem angegebenen Sprachnamen. Die zurückgegebene instance enthält die konfigurierten CompilerInfo Sprachanbieter- und Compilereinstellungen.

Die IsDefinedLanguage -Methode überprüft, ob mindestens eine Anbieterimplementierung eine bestimmte Sprache unterstützt. Sie können einen Sprachnamen überprüfen, IsDefinedLanguage bevor Sie ihn an GetCompilerInfoübergeben. Dadurch wird verhindert, dass ein System.Configuration.ConfigurationException ausgelöst wird, wenn Sie auf die CompilerInfo instance für einen nicht unterstützten Sprachnamen zugreifen.

Wenn mehrere Anbieterimplementierungen für den Namen der Eingabesprache konfiguriert sind, GetCompilerInfo gibt die Einstellungen des letzten übereinstimmenden Anbieterkonfigurationselements zurück.

Bei Sprachnamen wird die Groß-/Kleinschreibung nicht beachtet.

Gilt für:

Weitere Informationen