Udostępnij za pośrednictwem


CodeDomProvider.GetCompilerInfo(String) Metoda

Definicja

Zwraca ustawienia konfiguracji dostawcy języka i kompilatora dla określonego języka.

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.

Zwraca

CompilerInfo Obiekt wypełniony ustawieniami skonfigurowanej CodeDomProvider implementacji.

Atrybuty

Wyjątki

Na language tym komputerze nie ma skonfigurowanego dostawcy.

Element language to null.

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

Poniższy przykład kodu określa implementację CodeDomProvider języka wejściowego i wyświetla skonfigurowane ustawienia dostawcy języka. Ten przykład kodu jest częścią większego przykładu podanego CompilerInfo dla klasy.

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 maszyny zawiera dostawcę języka i ustawienia konfiguracji kompilatora dla każdej CodeDomProvider implementacji na komputerze. Aby uzyskać informacje o plikach konfiguracji maszyny, zobacz sekcję Pliki konfiguracji komputera w temacie Konfigurowanie aplikacji. Metoda GetCompilerInfo wyszukuje każdy element konfiguracji dostawcy dla określonej nazwy języka. Zwrócone CompilerInfo wystąpienie zawiera skonfigurowanego dostawcę języka i ustawienia kompilatora.

Metoda sprawdza, czy co najmniej jedna implementacja IsDefinedLanguage dostawcy obsługuje określony język. Przed przekazaniem jej do GetCompilerInfoelementu można zweryfikować nazwę języka.IsDefinedLanguage Zapobiega to zgłaszaniu System.Configuration.ConfigurationExceptionCompilerInfo wystąpienia dla nieobsługiwanej nazwy języka.

Jeśli dla nazwy języka wejściowego skonfigurowano więcej niż jedną implementację dostawcy, GetCompilerInfo zwraca ustawienia z ostatniego pasującego elementu konfiguracji dostawcy.

Nazwy języków są bez uwzględniania wielkości liter.

Dotyczy

Zobacz też