CodeDomProvider.GetLanguageFromExtension(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un nome di lingua associato all'estensione di file specificata, come configurato nella sezione di configurazione del CodeDomProvider compilatore.
public:
static System::String ^ GetLanguageFromExtension(System::String ^ extension);
[System.Runtime.InteropServices.ComVisible(false)]
public static string GetLanguageFromExtension(string extension);
[<System.Runtime.InteropServices.ComVisible(false)>]
static member GetLanguageFromExtension : string -> string
Public Shared Function GetLanguageFromExtension (extension As String) As String
Parametri
- extension
- String
Estensione del nome di file.
Valori restituiti
Nome del linguaggio associato all'estensione del nome file, come configurato nelle impostazioni di configurazione del CodeDomProvider compilatore.
- Attributi
Eccezioni
non extension dispone di un provider di linguaggio configurato in questo computer.
Il extension è null.
Il chiamante non dispone dell'autorizzazione richiesta.
Esempio
Nell'esempio di codice seguente viene determinata l'implementazione di un'estensione CodeDomProvider del nome di file di input e vengono visualizzate le impostazioni configurate per il provider di linguaggio. Questo esempio di codice fa parte di un esempio più ampio fornito per la CompilerInfo classe .
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
Commenti
L'elemento< system.codedom> nel file di configurazione del computer (Machine.config) contiene il provider di linguaggio e le impostazioni di configurazione del compilatore per ogni CodeDomProvider implementazione nel computer. Il GetLanguageFromExtension metodo cerca in ogni elemento di configurazione del provider l'estensione del nome file specificata.
Il IsDefinedExtension metodo controlla se almeno un'implementazione del provider supporta un'estensione di file specifica. È possibile convalidare un'estensione del nome di file usando IsDefinedExtension prima di passarla a GetLanguageFromExtension. Ciò impedisce di GetLanguageFromExtension generare un'eccezione System.Configuration.ConfigurationException per un'estensione del nome di file non supportata.
Se un'implementazione del provider supporta l'estensione del nome file di input e per tale provider sono configurate più lingue supportate, restituisce GetLanguageFromExtension il nome della prima lingua per tale provider. Se più implementazioni del provider sono configurate per l'estensione del nome file di input, GetLanguageFromExtension restituisce il nome della lingua dall'ultimo elemento di configurazione del provider corrispondente.
I nomi di lingua e le estensioni di file non fanno distinzione tra maiuscole e minuscole.