Aracılığıyla paylaş


CodeDomProvider.GetLanguageFromExtension(String) Yöntem

Tanım

Derleyici yapılandırması bölümünde yapılandırıldığı CodeDomProvider gibi belirtilen dosya adı uzantısıyla ilişkilendirilmiş bir dil adı döndürür.

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

Parametreler

extension
String

Dosya adı uzantısı.

Döndürülenler

Derleyici yapılandırma ayarlarında yapılandırıldığı CodeDomProvider gibi, dosya adı uzantısıyla ilişkilendirilmiş bir dil adı.

Öznitelikler

Özel durumlar

bu extension bilgisayarda yapılandırılmış bir dil sağlayıcısı yok.

, extension şeklindedir null.

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki kod örneği, bir giriş dosyası adı uzantısının CodeDomProvider uygulamasını belirler ve dil sağlayıcısı için yapılandırılan ayarları görüntüler. Bu kod örneği, sınıfı için CompilerInfo sağlanan daha büyük bir örneğin parçasıdır.

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

Açıklamalar

Makine yapılandırma dosyasındaki (Machine.config) system.codedom> Öğesi, bilgisayardaki her uygulama için dil sağlayıcısını ve derleyici yapılandırma ayarlarını içerir.<CodeDomProvider yöntemi, GetLanguageFromExtension belirtilen dosya adı uzantısı için her sağlayıcı yapılandırma öğesini arar.

yöntemi, IsDefinedExtension en az bir sağlayıcı uygulamasının belirli bir dosya adı uzantısını destekleyip desteklemediğini denetler. Bir dosya adı uzantısını'na GetLanguageFromExtensiongeçirmeden önce kullanarak IsDefinedExtension doğrulayabilirsiniz. Bu, desteklenmeyen bir dosya adı uzantısı için bir System.Configuration.ConfigurationException oluşturmasını engellerGetLanguageFromExtension.

Bir sağlayıcı uygulaması giriş dosyası adı uzantısını destekliyorsa ve bu sağlayıcı için yapılandırılmış birden çok desteklenen dil varsa, GetLanguageFromExtension söz konusu sağlayıcının ilk dil adını döndürür. Giriş dosyası adı uzantısı için birden fazla sağlayıcı uygulaması yapılandırıldıysa, GetLanguageFromExtension son eşleşen sağlayıcı yapılandırma öğesinden dil adını döndürür.

Dil adları ve dosya adı uzantıları büyük/küçük harfe duyarlı değildir.

Şunlara uygulanır

Ayrıca bkz.