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這台電腦沒有設定過供應商。

languagenull

來電者沒有所需的權限。

範例

以下程式碼範例決定輸入語言的實作, 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 傳最後匹配提供者設定元素的設定。

語言名稱不區分大小寫。

適用於

另請參閱