CodeDomProvider.GetAllCompilerInfo 方法

定義

傳回這部電腦的語言提供者和編譯器組態設定。

C#
public static System.CodeDom.Compiler.CompilerInfo[] GetAllCompilerInfo ();
C#
[System.Runtime.InteropServices.ComVisible(false)]
public static System.CodeDom.Compiler.CompilerInfo[] GetAllCompilerInfo ();

傳回

CompilerInfo 型別的陣列,表示所有已設定 CodeDomProvider 實作的設定。

屬性

例外狀況

呼叫端沒有必要的權限。

範例

下列程式代碼範例會列舉計算機上的語言提供者,並顯示每個語言提供者的組態和編譯程式設定。 此程式代碼範例是針對 類別提供的較大範例的 CompilerInfo 一部分。

C#
CompilerInfo [] allCompilerInfo = CodeDomProvider.GetAllCompilerInfo();
foreach (CompilerInfo info in allCompilerInfo)
{
    String defaultLanguage;
    String defaultExtension;

    CodeDomProvider provider = info.CreateProvider();

    // Display information about this configured provider.

    Console.WriteLine("Language provider:  {0}",
        provider.ToString());
    Console.WriteLine();

    Console.WriteLine("  Supported file extension(s):");
    foreach(String extension in info.GetExtensions())
    {
        Console.WriteLine("    {0}", extension);
    }

    defaultExtension = provider.FileExtension;
    if (defaultExtension[0] != '.')
    {
        defaultExtension = "." + defaultExtension;
    }
    Console.WriteLine("  Default file extension:  {0}",
        defaultExtension);
    Console.WriteLine();

    Console.WriteLine("  Supported language(s):");
    foreach(String language in info.GetLanguages())
    {
        Console.WriteLine("    {0}", language);
    }

    defaultLanguage = CodeDomProvider.GetLanguageFromExtension(defaultExtension);
    Console.WriteLine("  Default language:        {0}",
        defaultLanguage);
    Console.WriteLine();

    // Get the compiler settings for this provider.
    CompilerParameters langCompilerConfig = info.CreateDefaultCompilerParameters();

    Console.WriteLine("  Compiler options:        {0}",
        langCompilerConfig.CompilerOptions);
    Console.WriteLine("  Compiler warning level:  {0}",
        langCompilerConfig.WarningLevel);
    Console.WriteLine();
}

備註

GetAllCompilerInfo使用方法來列舉計算機上的語言提供者設定。

注意

在 .NET Framework 2.0 中,系統不會在 <system.codedom> 元素組態區段中指定 .NET Framework 提供的預設語言提供者,而且無法移除,因此此方法會傳回有關預設提供者和組態檔中指定之任何的資訊。

適用於

產品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

另請參閱