CodeDomProvider.GetCompilerInfo メソッド
メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。
指定した言語の言語プロバイダおよびコンパイラの構成設定を返します。
名前空間: System.CodeDom.Compiler
アセンブリ: System (system.dll 内)
構文
<ComVisibleAttribute(False)> _ Public Shared Function GetCompilerInfo ( _ language As String _ ) As CompilerInfo
Dim language As String Dim returnValue As CompilerInfo returnValue = CodeDomProvider.GetCompilerInfo(language)
/** @attribute ComVisibleAttribute(false) */ public static CompilerInfo GetCompilerInfo ( String language )


マシン構成ファイルの <system.codedom> 要素には、コンピュータ上の各 CodeDomProvider 実装の言語プロバイダおよびコンパイラの構成設定が格納されます。GetCompilerInfo メソッドは、指定した言語名の各プロバイダ構成要素を検索します。返される CompilerInfo インスタンスには、言語プロバイダとコンパイラの構成済みの設定が格納されています。
IsDefinedLanguage メソッドは、少なくとも 1 つのプロバイダ実装が特定の言語をサポートしているどうかをチェックします。GetCompilerInfo に言語名を渡す前に、IsDefinedLanguage を使用してその言語名を検証できます。これにより、サポートされていない言語名の CompilerInfo インスタンスにアクセスしたときに、System.Configuration.ConfigurationException がスローされるのを防ぐことができます。
入力言語名に対して複数のプロバイダ実装が構成されている場合、GetCompilerInfo は、最後に一致するプロバイダ構成要素の設定を返します。

入力言語の CodeDomProvider 実装を確認し、その言語プロバイダの構成済みの設定を表示するコード例を次に示します。
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
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); }
CodeDomProvider^ provider = nullptr; // Check for a provider corresponding to the input language. if ( CodeDomProvider::IsDefinedLanguage( language ) ) { provider = CodeDomProvider::CreateProvider( language ); if ( provider ) { // 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 ); if ( langCompilerInfo ) { CompilerParameters^ langCompilerConfig = langCompilerInfo->CreateDefaultCompilerParameters(); if ( langCompilerConfig ) { Console::WriteLine( " Compiler options: {0}", langCompilerConfig->CompilerOptions ); Console::WriteLine( " Compiler warning level: {0}", langCompilerConfig->WarningLevel.ToString() ); } } } } if ( provider == nullptr ) { // Tell the user that the language provider was not found. Console::WriteLine( "There is no provider configured for input language \"{0}\".", language ); }


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- CodeDomProvider.GetCompilerInfo メソッドのページへのリンク