CodeDomProvider.GetLanguageFromExtension(String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí název jazyka přidružený k zadané příponě názvu souboru, jak je nakonfigurováno v části konfigurace kompilátoru CodeDomProvider .
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
Parametry
- extension
- String
Přípona názvu souboru.
Návraty
Název jazyka přidružený k příponě názvu souboru, jak je nakonfigurován v nastavení konfigurace kompilátoru CodeDomProvider .
- Atributy
Výjimky
V extension
tomto počítači nemá nakonfigurovaného zprostředkovatele jazyka.
Hodnota extension
je null
.
Volající nemá požadované oprávnění.
Příklady
Následující příklad kódu určuje implementaci CodeDomProvider pro příponu vstupního souboru a zobrazí nakonfigurovaná nastavení pro zprostředkovatele jazyka. Tento příklad kódu je součástí většího příkladu CompilerInfo pro třídu .
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
Poznámky
Element< system.codedom> v konfiguračním souboru počítače (Machine.config) obsahuje nastavení konfigurace zprostředkovatele jazyka a kompilátoru pro každou CodeDomProvider implementaci v počítači. Metoda GetLanguageFromExtension hledá v každém elementu konfigurace zprostředkovatele zadanou příponu názvu souboru.
Metoda IsDefinedExtension zkontroluje, jestli alespoň jedna implementace zprostředkovatele podporuje konkrétní příponu názvu souboru. Před předáním přípony názvu souboru do GetLanguageFromExtensionmůžete ověřit pomocí IsDefinedExtension . Tím se zabrání GetLanguageFromExtension vyvolání přípony System.Configuration.ConfigurationException pro nepodporovanou příponu názvu souboru.
Pokud implementace zprostředkovatele podporuje příponu názvu vstupního souboru a pro daného zprostředkovatele je nakonfigurováno více podporovaných jazyků, GetLanguageFromExtension vrátí se první název jazyka pro daného zprostředkovatele. Pokud je pro příponu názvu vstupního souboru nakonfigurováno více než jedna implementace zprostředkovatele, GetLanguageFromExtension vrátí název jazyka z posledního odpovídajícího elementu konfigurace zprostředkovatele.
Názvy jazyků a přípony názvů souborů nerozlišují velká a malá písmena.