CompilerInfo::IsCodeDomProviderTypeValid Property

 

Returns a value indicating whether the language provider implementation is configured on the computer.

Namespace:   System.CodeDom.Compiler
Assembly:  System (in System.dll)

public:
property bool IsCodeDomProviderTypeValid {
	bool get();
}

Property Value

Type: System::Boolean

true if the language provider implementation type is configured on the computer; otherwise, false.

Use the IsCodeDomProviderTypeValid property to check the CodeDomProvider implementation before accessing the provider properties or methods. For example, after you get the language provider settings from the GetCompilerInfo method, use the IsCodeDomProviderTypeValid property to verify the provider type implementation before calling the CreateProvider method or using the CodeDomProviderType property.

The following code example determines whether the input language has a configured CodeDomProvider implementation on the computer. If there is a provider configured for the specified language, the example displays the language provider configuration settings. This code example is part of a larger example provided for the CompilerInfo class.

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 );

SecurityPermission

for calling members of CompilerInfo. Demand value: LinkDemand; Associated PermissionState enumeration value: Unrestricted; NIB: Named Permission Sets: FullTrust.

.NET Framework
Available since 2.0
Return to top
Show: