CodeDomProvider.GetCompilerInfo(String) Metoda

Definicja

Zwraca ustawienia dostawcy języka i konfiguracji kompilatora dla określonego języka.Returns the language provider and compiler configuration settings for the specified language.

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

Nazwa języka.A language name.

Zwraca

CompilerInfo

CompilerInfoObiekt został wypełniony ustawieniami skonfigurowanej CodeDomProvider implementacji.A CompilerInfo object populated with settings of the configured CodeDomProvider implementation.

Atrybuty

Wyjątki

Nie language ma skonfigurowanego dostawcy na tym komputerze.The language does not have a configured provider on this computer.

languageMa wartość null .The language is null.

Obiekt wywołujący nie posiada wymaganych uprawnień.The caller does not have the required permission.

Przykłady

Poniższy przykład kodu określa CodeDomProvider implementację języka wejściowego i wyświetla skonfigurowane ustawienia dla dostawcy języka.The following code example determines the CodeDomProvider implementation for an input language and displays the configured settings for the language provider. Ten przykład kodu jest częścią większego przykładu dostarczonego dla CompilerInfo klasy.This code example is part of a larger example provided for the CompilerInfo class.

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

Uwagi

< > Element System. CodeDom w pliku konfiguracji komputera zawiera ustawienia dostawcy języka i konfiguracji kompilatora dla każdej CodeDomProvider implementacji na komputerze.The <system.codedom> Element in the machine configuration file contains the language provider and compiler configuration settings for each CodeDomProvider implementation on the computer. Informacje o plikach konfiguracji komputera znajdują się w sekcji pliki konfiguracji komputera w temacie Konfigurowanie aplikacji.For information about machine configuration files, see the Machine Configuration Files section in Configuring Apps. GetCompilerInfoMetoda wyszukuje każdy element konfiguracji dostawcy dla określonej nazwy języka.The GetCompilerInfo method searches each provider configuration element for the specified language name. Zwrócone CompilerInfo wystąpienie zawiera skonfigurowany dostawca języka i ustawienia kompilatora.The returned CompilerInfo instance contains the configured language provider and compiler settings.

IsDefinedLanguageMetoda sprawdza, czy co najmniej jedna implementacja dostawcy obsługuje określony język.The IsDefinedLanguage method checks whether at least one provider implementation supports a specific language. Możesz sprawdzić poprawność nazwy języka, używając IsDefinedLanguage przed przekazaniem jej do GetCompilerInfo .You can validate a language name using IsDefinedLanguage before passing it to GetCompilerInfo. Zapobiega to zgłaszaniu przez System.Configuration.ConfigurationException program dostępu do CompilerInfo wystąpienia nieobsługiwanej nazwy języka.This prevents throwing a System.Configuration.ConfigurationException when you access the CompilerInfo instance for an unsupported language name.

W przypadku skonfigurowania więcej niż jednej implementacji dostawcy dla nazwy języka wejściowego program GetCompilerInfo zwraca ustawienia z ostatniego pasującego elementu konfiguracji dostawcy.If more than one provider implementation is configured for the input language name, GetCompilerInfo returns the settings from the last matching provider configuration element.

W nazwach języków nie jest rozróżniana wielkość liter.Language names are case-insensitive.

Dotyczy

Zobacz też