CodeDomProvider.GetLanguageFromExtension(String) Metoda

Definice

Vrátí název jazyka přidružený k zadané příponě názvu souboru, jak je nakonfigurováno v konfigurační části kompilátoru CodeDomProvider .

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

Parametry

extension
String

Přípona názvu souboru.

Návraty

Název jazyka přidružený k příponě názvu souboru, jak je nakonfigurováno v nastavení konfigurace kompilátoru CodeDomProvider .

Atributy

Výjimky

Na extension tomto počítači nemá nakonfigurovaného poskytovatele jazyka.

To extension je null.

Volající nemá požadované oprávnění.

Příklady

Následující příklad kódu určuje implementaci CodeDomProvider pro příponu názvu vstupního souboru a zobrazí nakonfigurovaná nastavení pro zprostředkovatele jazyka. Tento příklad kódu je součástí většího příkladu uvedeného pro třídu CompilerInfo.

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

Poznámky

Element< system.codedom> v konfiguračním souboru počítače (Machine.config) obsahuje zprostředkovatele jazyka a nastavení konfigurace kompilátoru pro každou CodeDomProvider implementaci v počítači. Metoda GetLanguageFromExtension vyhledá každý element konfigurace zprostředkovatele pro zadanou příponu názvu souboru.

Metoda IsDefinedExtension zkontroluje, zda alespoň jedna implementace zprostředkovatele podporuje konkrétní příponu názvu souboru. Před předáním souboru do IsDefinedExtensionsouboru můžete ověřit příponu GetLanguageFromExtension názvu souboru . Tím zabráníte GetLanguageFromExtension vyvolání System.Configuration.ConfigurationException nepodporované přípony názvu souboru.

Pokud implementace zprostředkovatele podporuje příponu názvu vstupního souboru a pro daného zprostředkovatele je nakonfigurovaných více podporovaných jazyků, GetLanguageFromExtension vrátí název prvního jazyka pro daného zprostředkovatele. Pokud je pro příponu názvu vstupního souboru nakonfigurovaná více než jedna implementace zprostředkovatele, GetLanguageFromExtension vrátí název jazyka z posledního odpovídajícího konfiguračního prvku zprostředkovatele.

Názvy jazyků a přípony názvů souborů nerozlišují velká a malá písmena.

Platí pro

Viz také