CompilerInfo.IsCodeDomProviderTypeValid 属性
定义
返回一个值,该值指示是否在计算机上配置了语言提供程序实现。Returns a value indicating whether the language provider implementation is configured on the computer.
public:
property bool IsCodeDomProviderTypeValid { bool get(); };
public bool IsCodeDomProviderTypeValid { get; }
member this.IsCodeDomProviderTypeValid : bool
Public ReadOnly Property IsCodeDomProviderTypeValid As Boolean
属性值
如果在计算机上配置了语言提供程序实现类型,则为 true;否则,为false。true if the language provider implementation type is configured on the computer; otherwise, false.
示例
下面的代码示例确定输入语言在计算机上是否有已配置的 CodeDomProvider 实现。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. 此代码示例是为类提供的更大示例的一部分 CompilerInfo 。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 );
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
注解
在 IsCodeDomProviderTypeValid CodeDomProvider 访问提供程序属性或方法之前,请使用属性来检查实现。Use the IsCodeDomProviderTypeValid property to check the CodeDomProvider implementation before accessing the provider properties or methods. 例如,在从方法获取语言提供程序设置后 GetCompilerInfo ,请在 IsCodeDomProviderTypeValid 调用 CreateProvider 方法或使用属性之前使用属性来验证提供程序类型实现 CodeDomProviderType 。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.