CodeDomProvider.GetCompilerInfo(String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.