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 konfigurační části 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áno v nastavení konfigurace kompilátoru CodeDomProvider .
- Atributy
Výjimky
Na extension tomto počítači nemá nakonfigurovaného poskytovatele jazyka.
To 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 názvu vstupního souboru a zobrazí nakonfigurovaná nastavení pro zprostředkovatele jazyka. Tento příklad kódu je součástí většího příkladu uvedeného pro třídu CompilerInfo.
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 zprostředkovatele jazyka a nastavení konfigurace kompilátoru pro každou CodeDomProvider implementaci v počítači. Metoda GetLanguageFromExtension vyhledá každý element konfigurace zprostředkovatele pro zadanou příponu názvu souboru.
Metoda IsDefinedExtension zkontroluje, zda alespoň jedna implementace zprostředkovatele podporuje konkrétní příponu názvu souboru. Před předáním souboru do IsDefinedExtensionsouboru můžete ověřit příponu GetLanguageFromExtension názvu souboru . Tím zabráníte GetLanguageFromExtension vyvolání System.Configuration.ConfigurationException nepodporované přípony názvu souboru.
Pokud implementace zprostředkovatele podporuje příponu názvu vstupního souboru a pro daného zprostředkovatele je nakonfigurovaných více podporovaných jazyků, GetLanguageFromExtension vrátí název prvního jazyka pro daného zprostředkovatele. Pokud je pro příponu názvu vstupního souboru nakonfigurovaná více než jedna implementace zprostředkovatele, GetLanguageFromExtension vrátí název jazyka z posledního odpovídajícího konfiguračního prvku zprostředkovatele.
Názvy jazyků a přípony názvů souborů nerozlišují velká a malá písmena.