CodeDomProvider.GetCompilerInfo(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した言語の言語プロバイダーおよびコンパイラの構成設定を返します。
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 = 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 );
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検証できます。 これにより、サポートされていない言語名のインスタンスにCompilerInfoアクセスするときに をスローSystem.Configuration.ConfigurationExceptionできなくなります。
入力言語名に対して複数のプロバイダー実装が構成されている場合は、 GetCompilerInfo 最後に一致するプロバイダー構成要素から設定を返します。
言語名では大文字と小文字は区別されません。
適用対象
こちらもご覧ください
.NET