Udostępnij za pośrednictwem


CompilerInfo.CodeDomProviderType Właściwość

Definicja

Pobiera typ skonfigurowanej CodeDomProvider implementacji.

public:
 property Type ^ CodeDomProviderType { Type ^ get(); };
public Type CodeDomProviderType { get; }
member this.CodeDomProviderType : Type
Public ReadOnly Property CodeDomProviderType As Type

Wartość właściwości

Wystąpienie tylko do Type odczytu, które reprezentuje skonfigurowany typ dostawcy języka.

Wyjątki

Dostawca języka nie jest skonfigurowany na tym komputerze.

Nie można zlokalizować typu, ponieważ jest to ciąg lub pusty null .

-lub-

Nie można zlokalizować typu, ponieważ nie można odnaleźć nazwy elementu CodeDomProvider w pliku konfiguracji.

Przykłady

Poniższy przykład kodu określa, czy język wejściowy ma skonfigurowaną CodeDomProvider implementację na komputerze. Jeśli dla określonego języka skonfigurowano dostawcę, w przykładzie zostaną wyświetlone ustawienia konfiguracji dostawcy języka. Ten przykład kodu jest częścią większego przykładu podanego CompilerInfo dla klasy.

CodeDomProvider^ provider = nullptr;
CompilerInfo^ info = CodeDomProvider::GetCompilerInfo( configLanguage );

// Check whether there is a provider configured for this language.
if ( info->IsCodeDomProviderTypeValid )
{
   // Get a provider instance using the configured type information.
   provider = dynamic_cast<CodeDomProvider^>(Activator::CreateInstance( info->CodeDomProviderType ));
   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.
      CompilerParameters^ langCompilerConfig = info->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}\".", configLanguage );
CompilerInfo info = CodeDomProvider.GetCompilerInfo(configLanguage);

// Check whether there is a provider configured for this language.
if (info.IsCodeDomProviderTypeValid)
{
    // Get a provider instance using the configured type information.
    CodeDomProvider provider;
    provider = (CodeDomProvider)Activator.CreateInstance(info.CodeDomProviderType);

    // 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.

    CompilerParameters langCompilerConfig = info.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}\".",
        configLanguage);
}
Dim info As CompilerInfo = CodeDomProvider.GetCompilerInfo(configLanguage)

' Check whether there is a provider configured for this language.
If info.IsCodeDomProviderTypeValid Then
   ' Get a provider instance using the configured type information.
   Dim provider As CodeDomProvider
   provider = CType(Activator.CreateInstance(info.CodeDomProviderType), CodeDomProvider)
   
   ' 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 langCompilerConfig As CompilerParameters = info.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}"".", configLanguage)
End If

Uwagi

Plik konfiguracji maszyny zawiera w pełni kwalifikowaną nazwę typu dla każdej CodeDomProvider implementacji na komputerze. Wartość CodeDomProviderType właściwości to Type wystąpienie reprezentujące skonfigurowaną implementację dostawcy języka.

Dotyczy

Zobacz też