Freigeben über


CodeDomProvider.GetLanguageFromExtension(String) Methode

Definition

Gibt, wie im CodeDomProvider-Compilerkonfigurationsabschnitt konfiguriert, einen der angegebenen Dateinamenerweiterung zugeordneten Sprachnamen zurück.

public:
 static System::String ^ GetLanguageFromExtension(System::String ^ extension);
public static string GetLanguageFromExtension (string extension);
[System.Runtime.InteropServices.ComVisible(false)]
public static string GetLanguageFromExtension (string extension);
static member GetLanguageFromExtension : string -> string
[<System.Runtime.InteropServices.ComVisible(false)>]
static member GetLanguageFromExtension : string -> string
Public Shared Function GetLanguageFromExtension (extension As String) As String

Parameter

extension
String

Eine Dateinamenerweiterung.

Gibt zurück

Ein der Dateinamenerweiterung zugeordneter Sprachname, wie in den CodeDomProvider-Compilerkonfigurationseinstellungen konfiguriert.

Attribute

Ausnahmen

extension verfügt auf diesem Computer über keinen konfigurierten Sprachanbieter.

extension ist null.

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

Beispiele

Das folgende Codebeispiel bestimmt die CodeDomProvider Implementierung für eine Eingabedateierweiterung 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.

if (  !fileExtension->StartsWith(  "." ) )
   fileExtension = String::Concat( ".", fileExtension );

// Get the language associated with the file extension.
CodeDomProvider^ provider = nullptr;
if ( CodeDomProvider::IsDefinedExtension( fileExtension ) )
{
   String^ language = CodeDomProvider::GetLanguageFromExtension( fileExtension );
   if ( language )
      Console::WriteLine( "The language \"{0}\" is associated with file extension \"{1}\"\n",
                           language, fileExtension );

   // Check for a corresponding language provider.
   if ( language && CodeDomProvider::IsDefinedLanguage( language ) )
   {
      provider = CodeDomProvider::CreateProvider( language );
      if ( provider )
      {
         // Display information about this language provider.
         Console::WriteLine( "Language provider:  {0}\n", provider->ToString() );
         
         // 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 language provider associated with input file extension \"{0}\".", fileExtension );
if (fileExtension[0] != '.')
{
    fileExtension = "." + fileExtension;
}

// Get the language associated with the file extension.
if (CodeDomProvider.IsDefinedExtension(fileExtension))
{
    CodeDomProvider provider;
    String language = CodeDomProvider.GetLanguageFromExtension(fileExtension);

    Console.WriteLine("The language \"{0}\" is associated with file extension \"{1}\"",
        language, fileExtension);
    Console.WriteLine();

    // Next, check for a corresponding language provider.

    if (CodeDomProvider.IsDefinedLanguage(language))
    {
        provider = CodeDomProvider.CreateProvider(language);

        // Display information about this language provider.

        Console.WriteLine("Language provider:  {0}",
            provider.ToString());
        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 language provider associated with input file extension \"{0}\".",
        fileExtension);
}
If Not fileExtension.StartsWith(".") Then
   fileExtension = "." + fileExtension
End If

' Get the language associated with the file extension.
If CodeDomProvider.IsDefinedExtension(fileExtension) Then
   Dim provider As CodeDomProvider
   Dim language As String = CodeDomProvider.GetLanguageFromExtension(fileExtension)
   
   Console.WriteLine("The language ""{0}"" is associated with file extension ""{1}""", _
       language, fileExtension)
   Console.WriteLine()
   
   ' Check for a corresponding language provider.
   If CodeDomProvider.IsDefinedLanguage(language) Then
      provider = CodeDomProvider.CreateProvider(language)
      
      ' Display information about this language provider.
      Console.WriteLine("Language provider:  {0}", _
         provider.ToString())
      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)
   End If
Else
   ' Tell the user that the language provider was not found.
   Console.WriteLine("There is no language provider associated with input file extension ""{0}"".", fileExtension)
End If

Hinweise

Das <system.codedom-Element> in der Computerkonfigurationsdatei (Machine.config) enthält die Sprachanbieter- und Compilerkonfigurationseinstellungen für jede CodeDomProvider Implementierung auf dem Computer. Die GetLanguageFromExtension -Methode durchsucht jedes Anbieterkonfigurationselement nach der angegebenen Dateinamenerweiterung.

Die IsDefinedExtension -Methode überprüft, ob mindestens eine Anbieterimplementierung eine bestimmte Dateinamenerweiterung unterstützt. Sie können eine Dateinamenerweiterung mit überprüfen, IsDefinedExtension bevor Sie sie an GetLanguageFromExtensionübergeben. Dadurch wird verhindert, dass GetLanguageFromExtension für eine nicht unterstützte Dateinamenerweiterung eine System.Configuration.ConfigurationException ausgelöst wird.

Wenn eine Anbieterimplementierung die Eingabedateierweiterung unterstützt und mehrere unterstützte Sprachen für diesen Anbieter konfiguriert sind, gibt den GetLanguageFromExtension ersten Sprachnamen für diesen Anbieter zurück. Wenn mehr als eine Anbieterimplementierung für die Eingabedateierweiterung konfiguriert ist, GetLanguageFromExtension gibt den Sprachnamen aus dem letzten übereinstimmenden Anbieterkonfigurationselement zurück.

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

Gilt für:

Weitere Informationen