Language

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

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

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

適用対象

こちらもご覧ください