CodeDomProvider.GetLanguageFromExtension(String) Metoda

Definicja

Zwraca nazwę języka skojarzona z określonym rozszerzeniem nazwy pliku zgodnie z konfiguracją kompilatora CodeDomProvider .

public static string GetLanguageFromExtension (string extension);
[System.Runtime.InteropServices.ComVisible(false)]
public static string GetLanguageFromExtension (string extension);

Parametry

extension
String

Rozszerzenie nazwy pliku.

Zwraca

Nazwa języka skojarzona z rozszerzeniem nazwy pliku, zgodnie z konfiguracją w ustawieniach konfiguracji kompilatora CodeDomProvider .

Atrybuty

Wyjątki

Na extension tym komputerze nie ma skonfigurowanego dostawcy języka.

Wartość extension to null.

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

Poniższy przykład kodu określa implementację CodeDomProvider rozszerzenia nazwy pliku wejściowego i wyświetla skonfigurowane ustawienia dostawcy języka. Ten przykład kodu jest częścią większego przykładu udostępnionego CompilerInfo dla klasy .

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);
}

Uwagi

Element< system.codedom> w pliku konfiguracji maszyny (Machine.config) zawiera ustawienia konfiguracji dostawcy języka i kompilatora dla każdej CodeDomProvider implementacji na komputerze. Metoda GetLanguageFromExtension wyszukuje każdy element konfiguracji dostawcy dla określonego rozszerzenia nazwy pliku.

Metoda sprawdza, czy co najmniej jedna implementacja IsDefinedExtension dostawcy obsługuje określone rozszerzenie nazwy pliku. Przed przekazaniem GetLanguageFromExtensiondo pliku można zweryfikować rozszerzenie nazwy pliku przy użyciu polecenia IsDefinedExtension . GetLanguageFromExtension Zapobiega to zgłaszaniu elementu System.Configuration.ConfigurationException dla nieobsługiwanego rozszerzenia nazwy pliku.

Jeśli implementacja dostawcy obsługuje rozszerzenie nazwy pliku wejściowego i istnieje wiele obsługiwanych języków skonfigurowanych dla tego dostawcy, zwraca GetLanguageFromExtension pierwszą nazwę języka dla tego dostawcy. Jeśli dla rozszerzenia nazwy pliku wejściowego skonfigurowano więcej niż jedną implementację dostawcy, GetLanguageFromExtension zwraca nazwę języka z ostatniego pasującego elementu konfiguracji dostawcy.

Nazwy języków i rozszerzenia nazw plików są bez uwzględniania wielkości liter.

Dotyczy

Produkt Wersje
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Zobacz też