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

CompilerInfo

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

Im folgenden Codebeispiel wird die Implementierung für eine Eingabesprache bestimmt und die CodeDomProvider konfigurierten Einstellungen für den Sprachanbieter angezeigt. 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 Sprachanbieter- und Compilerkonfigurationseinstellungen für jede CodeDomProvider Implementierung auf dem Computer. Informationen zu Computerkonfigurationsdateien finden Sie im Abschnitt "Computerkonfigurationsdateien" im Abschnitt " Apps konfigurieren". Die GetCompilerInfo Methode durchsucht jedes Anbieterkonfigurationselement für den angegebenen Sprachnamen. Die zurückgegebene Instanz 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 Fehler ausgelöst wird, wenn Sie auf die CompilerInfo Instanz für einen nicht unterstützten Sprachnamen zugreifen.

Wenn mehr als eine Anbieterimplementierung für den Eingabesprachenamen konfiguriert ist, GetCompilerInfo gibt die Einstellungen aus dem letzten übereinstimmenden Anbieterkonfigurationselement zurück.

Sprachnamen sind groß- und kleinschreibungsfähig.

Gilt für

Siehe auch