CodeDomProvider.GetLanguageFromExtension(String) 方法

定義

回傳與指定副檔名相關的語言名稱,該名稱在編譯器設定區段中設定 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

參數

extension
String

一個副檔名。

傳回

與檔案副檔名相關的語言名稱,依編譯器設定中所設定 CodeDomProvider

屬性

例外狀況

extension 台電腦沒有設定語言服務提供者。

extensionnull

來電者沒有所需的權限。

範例

以下程式碼範例決定輸入檔名副檔名的實作, CodeDomProvider 並顯示語言提供者的設定。 此程式碼範例是本類別更大範例 CompilerInfo 的一部分。

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

備註

機器設定檔中的 system.codedom< 元素(Machine.config)包含電腦上每個實作的語言提供者與編譯器設定。>CodeDomProviderGetLanguageFromExtension 方法會搜尋每個提供者設定元素中的指定副檔名。

IsDefinedExtension 方法會檢查至少一個提供者實作是否支援特定的檔案副檔名。 你可以先 IsDefinedExtension 驗證檔案副檔名,再傳入 GetLanguageFromExtension。 這可 GetLanguageFromExtension 防止因不支援的副檔名而拋出 a System.Configuration.ConfigurationException

如果提供者實作支援輸入檔名副檔名,且該提供者有多種支援語言,則回 GetLanguageFromExtension 傳該提供者的第一個語言名稱。 若輸入檔名副檔名設定多個提供者實作,則回 GetLanguageFromExtension 傳最後一個提供者設定元素的語言名稱。

語言名稱和檔名副檔名不區分大小寫。

適用於

另請參閱