CodeDomProvider.GetLanguageFromExtension(String) Metod

Definition

Returnerar ett språknamn som är associerat med det angivna filnamnstillägget enligt konfigurationsavsnittet CodeDomProvider för kompilatorn.

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

Parametrar

extension
String

Ett filnamnstillägg.

Returer

Ett språknamn som är associerat med filnamnstillägget enligt konfigurationsinställningarna för CodeDomProvider kompilatorn.

Attribut

Undantag

Har extension ingen konfigurerad språkprovider på den här datorn.

extension är null.

Anroparen har inte den behörighet som krävs.

Exempel

Följande kodexempel bestämmer implementeringen CodeDomProvider för ett filnamnstillägg för indata och visar de konfigurerade inställningarna för språkprovidern. Det här kodexemplet är en del av ett större exempel för CompilerInfo klassen.

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

Kommentarer

System.codedom-elementet<> i datorkonfigurationsfilen (Machine.config) innehåller konfigurationsinställningarna för språkprovidern och kompilatorn för varje CodeDomProvider implementering på datorn. Metoden GetLanguageFromExtension söker i varje providerkonfigurationselement efter det angivna filnamnstillägget.

Metoden IsDefinedExtension kontrollerar om minst en providerimplementering stöder ett specifikt filnamnstillägg. Du kan verifiera ett filnamnstillägg med innan IsDefinedExtension du skickar det till GetLanguageFromExtension. Detta förhindrar att filnamnstillägget GetLanguageFromExtensionSystem.Configuration.ConfigurationException för ett filnamnstillägg som inte stöds utlöse.

Om en providerimplementering stöder filnamnstillägget för indata och flera språk som stöds har konfigurerats för providern GetLanguageFromExtension returneras providerns första språknamn. Om mer än en providerimplementering har konfigurerats för filnamnstillägget GetLanguageFromExtension för indatafil returnerar språknamnet från det senaste matchande providerkonfigurationselementet.

Språknamn och filnamnstillägg är skiftlägeskänsliga.

Gäller för

Se även