Bagikan melalui


CodeDomProvider.GetCompilerInfo(String) Metode

Definisi

Mengembalikan penyedia bahasa dan pengaturan konfigurasi pengkompilasi untuk bahasa yang ditentukan.

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

Parameter

language
String

Nama bahasa.

Mengembalikan

Objek CompilerInfo yang diisi dengan pengaturan implementasi yang dikonfigurasi CodeDomProvider .

Atribut

Pengecualian

Tidak language memiliki penyedia yang dikonfigurasi pada komputer ini.

language adalah null.

Pemanggil tidak memiliki izin yang diperlukan.

Contoh

Contoh kode berikut menentukan CodeDomProvider implementasi untuk bahasa input dan menampilkan pengaturan yang dikonfigurasi untuk penyedia bahasa. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk CompilerInfo kelas .

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

Keterangan

System.codedom<> Element dalam file konfigurasi komputer berisi penyedia bahasa dan pengaturan konfigurasi pengompilasi untuk setiap CodeDomProvider implementasi di komputer. Untuk informasi tentang file konfigurasi mesin, lihat bagian File Konfigurasi Mesin di Mengonfigurasi Aplikasi. Metode ini GetCompilerInfo mencari setiap elemen konfigurasi penyedia untuk nama bahasa yang ditentukan. Instans yang dikembalikan berisi penyedia bahasa dan pengaturan pengkompilasi yang dikonfigurasi CompilerInfo .

Metode ini IsDefinedLanguage memeriksa apakah setidaknya satu implementasi penyedia mendukung bahasa tertentu. Anda dapat memvalidasi nama bahasa menggunakan IsDefinedLanguage sebelum meneruskannya ke GetCompilerInfo. Ini mencegah pelemparan System.Configuration.ConfigurationException saat Anda mengakses CompilerInfo instans untuk nama bahasa yang tidak didukung.

Jika lebih dari satu implementasi penyedia dikonfigurasi untuk nama bahasa input, GetCompilerInfo mengembalikan pengaturan dari elemen konfigurasi penyedia terakhir yang cocok.

Nama bahasa tidak peka huruf besar/kecil.

Berlaku untuk

Lihat juga