CodeDomProvider.GetCompilerInfo(String) メソッド

定義

指定した言語の言語プロバイダーとコンパイラ構成設定を返します。

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

パラメーター

language
String

言語名。

返品

構成されたCodeDomProvider実装の設定が設定されたCompilerInfo オブジェクト。

属性

例外

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 メソッドは、少なくとも 1 つのプロバイダー実装が特定の言語をサポートしているかどうかを確認します。 GetCompilerInfoに渡す前に、IsDefinedLanguageを使用して言語名を検証できます。 これにより、サポートされていない言語名のCompilerInfo インスタンスにアクセスするときにSystem.Configuration.ConfigurationExceptionがスローされるのを防ぐことができます。

入力言語名に対して複数のプロバイダー実装が構成されている場合、 GetCompilerInfo は最後に一致するプロバイダー構成要素から設定を返します。

言語名では大文字と小文字が区別されません。

適用対象

こちらもご覧ください