CompilerInfo::CodeDomProviderType Property
Gets the type of the configured CodeDomProvider implementation.
Assembly: System (in System.dll)
| Exception | Condition |
|---|---|
| ConfigurationException | The language provider is not configured on this computer. |
| ConfigurationErrorsException | Cannot locate the type because it is a null or empty string. -or- Cannot locate the type because the name for the CodeDomProvider cannot be found in the configuration file. |
The machine configuration file contains the fully qualified type name for each CodeDomProvider implementation on the computer. The CodeDomProviderType property value is a Type instance that represents a configured language provider implementation.
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 );
for calling members of CompilerInfo. Demand value: LinkDemand; Associated PermissionState enumeration value: Unrestricted.
Available since 2.0