CodeDomProvider.GetLanguageFromExtension(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 nama bahasa yang terkait dengan ekstensi nama file yang ditentukan, seperti yang dikonfigurasi di bagian CodeDomProvider konfigurasi pengkompilasi.
public:
static System::String ^ GetLanguageFromExtension(System::String ^ extension);
public static string GetLanguageFromExtension (string extension);
[System.Runtime.InteropServices.ComVisible(false)]
public static string GetLanguageFromExtension (string extension);
static member GetLanguageFromExtension : string -> string
[<System.Runtime.InteropServices.ComVisible(false)>]
static member GetLanguageFromExtension : string -> string
Public Shared Function GetLanguageFromExtension (extension As String) As String
Parameter
- extension
- String
Ekstensi nama file.
Mengembalikan
Nama bahasa yang terkait dengan ekstensi nama file, seperti yang dikonfigurasi dalam CodeDomProvider pengaturan konfigurasi pengkompilasi.
- Atribut
Pengecualian
Tidak extension
memiliki penyedia bahasa yang dikonfigurasi pada komputer ini.
extension
adalah null
.
Pemanggil tidak memiliki izin yang diperlukan.
Contoh
Contoh kode berikut menentukan CodeDomProvider implementasi untuk ekstensi nama file input dan menampilkan pengaturan yang dikonfigurasi untuk penyedia bahasa. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk CompilerInfo kelas .
if ( !fileExtension->StartsWith( "." ) )
fileExtension = String::Concat( ".", fileExtension );
// Get the language associated with the file extension.
CodeDomProvider^ provider = nullptr;
if ( CodeDomProvider::IsDefinedExtension( fileExtension ) )
{
String^ language = CodeDomProvider::GetLanguageFromExtension( fileExtension );
if ( language )
Console::WriteLine( "The language \"{0}\" is associated with file extension \"{1}\"\n",
language, fileExtension );
// Check for a corresponding language provider.
if ( language && CodeDomProvider::IsDefinedLanguage( language ) )
{
provider = CodeDomProvider::CreateProvider( language );
if ( provider )
{
// Display information about this language provider.
Console::WriteLine( "Language provider: {0}\n", provider->ToString() );
// 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 language provider associated with input file extension \"{0}\".", fileExtension );
if (fileExtension[0] != '.')
{
fileExtension = "." + fileExtension;
}
// Get the language associated with the file extension.
if (CodeDomProvider.IsDefinedExtension(fileExtension))
{
CodeDomProvider provider;
String language = CodeDomProvider.GetLanguageFromExtension(fileExtension);
Console.WriteLine("The language \"{0}\" is associated with file extension \"{1}\"",
language, fileExtension);
Console.WriteLine();
// Next, check for a corresponding language provider.
if (CodeDomProvider.IsDefinedLanguage(language))
{
provider = CodeDomProvider.CreateProvider(language);
// Display information about this language provider.
Console.WriteLine("Language provider: {0}",
provider.ToString());
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 language provider associated with input file extension \"{0}\".",
fileExtension);
}
If Not fileExtension.StartsWith(".") Then
fileExtension = "." + fileExtension
End If
' Get the language associated with the file extension.
If CodeDomProvider.IsDefinedExtension(fileExtension) Then
Dim provider As CodeDomProvider
Dim language As String = CodeDomProvider.GetLanguageFromExtension(fileExtension)
Console.WriteLine("The language ""{0}"" is associated with file extension ""{1}""", _
language, fileExtension)
Console.WriteLine()
' Check for a corresponding language provider.
If CodeDomProvider.IsDefinedLanguage(language) Then
provider = CodeDomProvider.CreateProvider(language)
' Display information about this language provider.
Console.WriteLine("Language provider: {0}", _
provider.ToString())
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)
End If
Else
' Tell the user that the language provider was not found.
Console.WriteLine("There is no language provider associated with input file extension ""{0}"".", fileExtension)
End If
Keterangan
System.codedom<> Element dalam file konfigurasi komputer (Machine.config) berisi penyedia bahasa dan pengaturan konfigurasi pengompilasi untuk setiap CodeDomProvider implementasi di komputer. Metode ini GetLanguageFromExtension mencari setiap elemen konfigurasi penyedia untuk ekstensi nama file yang ditentukan.
Metode ini IsDefinedExtension memeriksa apakah setidaknya satu implementasi penyedia mendukung ekstensi nama file tertentu. Anda dapat memvalidasi ekstensi nama file menggunakan IsDefinedExtension sebelum meneruskannya ke GetLanguageFromExtension. Ini mencegah GetLanguageFromExtension melempar System.Configuration.ConfigurationException untuk ekstensi nama file yang tidak didukung.
Jika implementasi penyedia mendukung ekstensi nama file input, dan ada beberapa bahasa yang didukung yang dikonfigurasi untuk penyedia tersebut, maka GetLanguageFromExtension mengembalikan nama bahasa pertama untuk penyedia tersebut. Jika lebih dari satu implementasi penyedia dikonfigurasi untuk ekstensi nama file input, GetLanguageFromExtension mengembalikan nama bahasa dari elemen konfigurasi penyedia yang cocok terakhir.
Nama bahasa dan ekstensi nama file tidak peka huruf besar/kecil.