CodeDomProvider.GetLanguageFromExtension(String) Methode

Definitie

Retourneert een taalnaam die is gekoppeld aan de opgegeven bestandsnaamextensie, zoals geconfigureerd in de configuratiesectie van de CodeDomProvider compiler.

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

Parameters

extension
String

Een bestandsnaamextensie.

Retouren

Een taalnaam die is gekoppeld aan de bestandsnaamextensie, zoals geconfigureerd in de configuratie-instellingen van de CodeDomProvider compiler.

Kenmerken

Uitzonderingen

De extension provider heeft geen geconfigureerde taalprovider op deze computer.

De extension is null.

De beller heeft niet de vereiste machtiging.

Voorbeelden

In het volgende codevoorbeeld wordt de CodeDomProvider implementatie voor een bestandsextensie voor invoer bepaald en worden de geconfigureerde instellingen voor de taalprovider weergegeven. Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de CompilerInfo klasse.

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

Opmerkingen

Het <element system.codedom> in het computerconfiguratiebestand (Machine.config) bevat de taalprovider en de configuratie-instellingen voor de compiler voor elke CodeDomProvider implementatie op de computer. De GetLanguageFromExtension methode doorzoekt elk configuratie-element van de provider naar de opgegeven bestandsnaamextensie.

De IsDefinedExtension methode controleert of ten minste één provider-implementatie een specifieke bestandsnaamextensie ondersteunt. U kunt een bestandsnaamextensie valideren voordat IsDefinedExtension u deze doorgeeft aan GetLanguageFromExtension. Dit voorkomt dat GetLanguageFromExtension een System.Configuration.ConfigurationException voor een niet-ondersteunde bestandsnaamextensie wordt weggegooid.

Als een provider-implementatie de bestandsextensie voor invoer ondersteunt en er meerdere ondersteunde talen zijn geconfigureerd voor die provider, retourneert u GetLanguageFromExtension de voornaam voor die provider. Als er meer dan één provider-implementatie is geconfigureerd voor de bestandsextensie voor invoer, GetLanguageFromExtension retourneert u de taalnaam van het laatste overeenkomende configuratie-element van de provider.

Taalnamen en bestandsnaamextensies zijn niet hoofdlettergevoelig.

Van toepassing op

Zie ook