CompilerInfo.CreateDefaultCompilerParameters メソッド

定義

言語プロバイダー実装の構成済みのコンパイラ設定を取得します。

public:
 System::CodeDom::Compiler::CompilerParameters ^ CreateDefaultCompilerParameters();
public System.CodeDom.Compiler.CompilerParameters CreateDefaultCompilerParameters ();
member this.CreateDefaultCompilerParameters : unit -> System.CodeDom.Compiler.CompilerParameters
Public Function CreateDefaultCompilerParameters () As CompilerParameters

戻り値

言語プロバイダー用に構成されたコンパイラ オプションおよびコンパイラ設定を格納する読み取り専用の CompilerParameters インスタンス。

次のコード例では、入力言語にコンピューターで構成された CodeDomProvider 実装があるかどうかを判断します。 指定した言語用に構成されたプロバイダーがある場合、この例では言語プロバイダーの構成設定を表示します。 このコード例は、CompilerInfo クラスのために提供されている大規模な例の一部です。

CodeDomProvider^ provider = nullptr;
CompilerInfo^ info = CodeDomProvider::GetCompilerInfo( configLanguage );

// Check whether there is a provider configured for this language.
if ( info->IsCodeDomProviderTypeValid )
{
   // Get a provider instance using the configured type information.
   provider = dynamic_cast<CodeDomProvider^>(Activator::CreateInstance( info->CodeDomProviderType ));
   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.
      CompilerParameters^ langCompilerConfig = info->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}\".", configLanguage );
CompilerInfo info = CodeDomProvider.GetCompilerInfo(configLanguage);

// Check whether there is a provider configured for this language.
if (info.IsCodeDomProviderTypeValid)
{
    // Get a provider instance using the configured type information.
    CodeDomProvider provider;
    provider = (CodeDomProvider)Activator.CreateInstance(info.CodeDomProviderType);

    // 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.

    CompilerParameters langCompilerConfig = info.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}\".",
        configLanguage);
}
Dim info As CompilerInfo = CodeDomProvider.GetCompilerInfo(configLanguage)

' Check whether there is a provider configured for this language.
If info.IsCodeDomProviderTypeValid Then
   ' Get a provider instance using the configured type information.
   Dim provider As CodeDomProvider
   provider = CType(Activator.CreateInstance(info.CodeDomProviderType), CodeDomProvider)
   
   ' 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 langCompilerConfig As CompilerParameters = info.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}"".", configLanguage)
End If

注釈

メソッドと CreateDefaultCompilerParameters メソッドによって返されるインスタンスのCompilerInfoコンパイラ設定を調べるには、 メソッドをCodeDomProvider.GetCompilerInfoCodeDomProvider.GetAllCompilerInfo使用します。

コンピューター構成ファイルの system.codedom> 要素には、コンピューター上の実装ごとに言語プロバイダーとコンパイラ構成設定が含まれています。<CodeDomProvider 各言語プロバイダー構成要素には、省略可能 compilerOptions な 属性と warningLevel 属性を含めることができます。 これらの属性は、 プロパティと CompilerParameters.WarningLevel プロパティの既定値をCompilerParameters.CompilerOptions定義します。

言語プロバイダー構成要素で 属性が compilerOptions 定義されていない場合、プロパティ値 CompilerParameters.CompilerOptions は空の文字列 ("") です。 言語プロバイダー構成要素で 属性が warningLevel 定義されていない場合、プロパティ値 CompilerParameters.WarningLevel は -1 です。

適用対象

こちらもご覧ください