Partager via


CodeDomProvider.GetLanguageFromExtension(String) Méthode

Définition

Retourne un nom de langage associé à l'extension de nom de fichier spécifiée, comme configuré dans la section de configuration de compilateur 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

Paramètres

extension
String

Extension de nom de fichier.

Retours

Nom de langage associé à l'extension de nom de fichier, comme configuré dans les paramètres de configuration de compilateur CodeDomProvider.

Attributs

Exceptions

Le extension n'a pas de fournisseur de langages configuré sur cet ordinateur.

extension a la valeur null.

L'appelant n'a pas l'autorisation requise.

Exemples

L’exemple de code suivant détermine l’implémentation CodeDomProvider d’une extension de nom de fichier d’entrée et affiche les paramètres configurés pour le fournisseur de langage. Cet exemple de code fait partie d’un exemple plus grand fourni pour la CompilerInfo classe .

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

Remarques

L’élément< system.codedom> dans le fichier de configuration de l’ordinateur (Machine.config) contient les paramètres de configuration du fournisseur de langage et du compilateur pour chaque CodeDomProvider implémentation sur l’ordinateur. La GetLanguageFromExtension méthode recherche l’extension de nom de fichier spécifiée dans chaque élément de configuration du fournisseur.

La IsDefinedExtension méthode vérifie si au moins une implémentation de fournisseur prend en charge une extension de nom de fichier spécifique. Vous pouvez valider une extension de nom de fichier à l’aide IsDefinedExtension de avant de la passer à GetLanguageFromExtension. Cela empêche GetLanguageFromExtension de lever un pour une System.Configuration.ConfigurationException extension de nom de fichier non prise en charge.

Si une implémentation de fournisseur prend en charge l’extension de nom de fichier d’entrée et que plusieurs langues prises en charge sont configurées pour ce fournisseur, retourne GetLanguageFromExtension le premier nom de langue pour ce fournisseur. Si plusieurs implémentations de fournisseur sont configurées pour l’extension de nom de fichier d’entrée, GetLanguageFromExtension retourne le nom de langue à partir du dernier élément de configuration du fournisseur correspondant.

Les noms de langage et les extensions de nom de fichier ne respectent pas la casse.

S’applique à

Voir aussi