語言

CodeDomProvider.GetCompilerInfo(String) 方法

定義

回傳指定語言的語言提供者及編譯器設定。

public:
 static System::CodeDom::Compiler::CompilerInfo ^ GetCompilerInfo(System::String ^ language);
public static System.CodeDom.Compiler.CompilerInfo GetCompilerInfo(string language);
[System.Runtime.InteropServices.ComVisible(false)]
public static System.CodeDom.Compiler.CompilerInfo GetCompilerInfo(string language);
static member GetCompilerInfo : string -> System.CodeDom.Compiler.CompilerInfo
[<System.Runtime.InteropServices.ComVisible(false)>]
static member GetCompilerInfo : string -> System.CodeDom.Compiler.CompilerInfo
Public Shared Function GetCompilerInfo (language As String) As CompilerInfo

參數

language
String

一個語言名稱。

傳回

一個 CompilerInfo 物件,裡面填充了已設定 CodeDomProvider 的實作設定。

屬性

例外狀況

language這台電腦沒有設定過供應商。

language 是 null。

來電者沒有所需的權限。

範例

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

CodeDomProvider provider;

// Check for a provider corresponding to the input language.
if (CodeDomProvider.IsDefinedLanguage(language))
{
    provider = CodeDomProvider.CreateProvider(language);

    // Display information about this language provider.

    Console.WriteLine("Language provider:  {0}",
        provider.ToString());
    Console.WriteLine();
    Console.WriteLine("  Default file extension:  {0}",
        provider.FileExtension);
    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 provider configured for input language \"{0}\".",
        language);
}
Dim provider As CodeDomProvider

' Check for a provider corresponding to the input language.  
If CodeDomProvider.IsDefinedLanguage(language) Then
   provider = CodeDomProvider.CreateProvider(language)
   
   ' Display information about this language provider.
   Console.WriteLine("Language provider:  {0}", _
       provider.ToString())
   Console.WriteLine()
   Console.WriteLine("  Default file extension:  {0}", _
       provider.FileExtension)
   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)
Else
   ' Tell the user that the language provider was not found.
   Console.WriteLine("There is no provider configured for input language ""{0}"".", _
       language)
End If

備註

機器設定檔中的 system.codedom< 元素包含電腦上每個實作的語言提供者與編譯器設定。>CodeDomProvider 有關機器設定檔的資訊,請參閱 「設定應用程式」中的機器設定檔章節。 該 GetCompilerInfo 方法會搜尋每個提供者配置元素中的指定語言名稱。 回傳 CompilerInfo 的實例包含已設定的語言提供者與編譯器設定。

此 IsDefinedLanguage 方法會檢查至少一個提供者實作是否支援特定語言。 你可以在傳給 IsDefinedLanguage之前,先驗證GetCompilerInfo語言名稱。 這樣可以防止你在存取System.Configuration.ConfigurationException不支援語言名稱的實例時拋出 aCompilerInfo。

若輸入語言名稱設定多個提供者實作,則回 GetCompilerInfo 傳最後匹配提供者設定元素的設定。

語言名稱不區分大小寫。

適用於

另請參閱