CodeDomProvider.GetCompilerInfo(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í nastavení konfigurace zprostředkovatele jazyka a kompilátoru pro zadaný jazyk.
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
Parametry
- language
- String
Název jazyka.
Návraty
Objekt CompilerInfo naplněný nastavením nakonfigurované CodeDomProvider implementace.
- Atributy
Výjimky
V language
tomto počítači nemá nakonfigurovaného zprostředkovatele.
Hodnota language
je null
.
Volající nemá požadované oprávnění.
Příklady
Následující příklad kódu určuje implementaci CodeDomProvider pro vstupní jazyk 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.
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
Poznámky
Element< system.codedom> v konfiguračním souboru počítače obsahuje nastavení konfigurace zprostředkovatele jazyka a kompilátoru pro každou CodeDomProvider implementaci v počítači. Informace o konfiguračních souborech počítače najdete v části Konfigurační soubory počítače v tématu Konfigurace aplikací. Metoda GetCompilerInfo vyhledá každý prvek konfigurace zprostředkovatele pro zadaný název jazyka. CompilerInfo Vrácená instance obsahuje nakonfigurovaného zprostředkovatele jazyka a nastavení kompilátoru.
Metoda IsDefinedLanguage kontroluje, jestli alespoň jedna implementace zprostředkovatele podporuje konkrétní jazyk. Název jazyka můžete před předáním do GetCompilerInfoověřit pomocí IsDefinedLanguage . Tím zabráníte vyvolání System.Configuration.ConfigurationException příkazu při přístupu k CompilerInfo instanci pro nepodporovaný název jazyka.
Pokud je pro název vstupního jazyka nakonfigurováno více než jedna implementace zprostředkovatele, GetCompilerInfo vrátí nastavení z posledního odpovídajícího elementu konfigurace zprostředkovatele.
V názvech jazyků se nerozlišují velká a malá písmena.