CodeDomProvider.GetCompilerInfo(String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne le fournisseur de langages et les paramètres de configuration de compilateur pour le langage spécifié.
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
Paramètres
- language
- String
Nom de langage.
Retours
Objet CompilerInfo rempli avec les paramètres de l'implémentation de CodeDomProvider configurée.
- Attributs
Exceptions
Le language
n'a pas de fournisseur configuré sur cet ordinateur.
language
a la valeur null
.
L'appelant n'a pas l'autorisation requise.
Exemples
L’exemple de code suivant détermine l’implémentation CodeDomProvider d’une langue d’entrée et affiche les paramètres configurés pour le fournisseur de langage. Cet exemple de code fait partie d’un exemple plus grand fourni pour la CompilerInfo classe .
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
Remarques
L’élément< system.codedom> dans le fichier de configuration de l’ordinateur contient les paramètres de configuration du fournisseur de langage et du compilateur pour chaque CodeDomProvider implémentation sur l’ordinateur. Pour plus d’informations sur les fichiers de configuration de l’ordinateur, consultez la section Fichiers de configuration de l’ordinateur dans Configuration des applications. La GetCompilerInfo méthode recherche le nom de langue spécifié dans chaque élément de configuration du fournisseur. Le instance retourné CompilerInfo contient les paramètres du fournisseur de langage et du compilateur configurés.
La IsDefinedLanguage méthode vérifie si au moins une implémentation de fournisseur prend en charge une langue spécifique. Vous pouvez valider un nom de langue à l’aide de IsDefinedLanguage avant de le passer à GetCompilerInfo. Cela empêche la levée d’un System.Configuration.ConfigurationException lorsque vous accédez au CompilerInfo instance pour un nom de langue non pris en charge.
Si plusieurs implémentations de fournisseur sont configurées pour le nom de la langue d’entrée, GetCompilerInfo retourne les paramètres du dernier élément de configuration du fournisseur correspondant.
Les noms de langue ne respectent pas la casse.