CompilerInfo Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir dil sağlayıcısının yapılandırma ayarlarını temsil eder. Bu sınıf devralınamaz.
public ref class CompilerInfo sealed
public sealed class CompilerInfo
type CompilerInfo = class
Public NotInheritable Class CompilerInfo
- Devralma
-
CompilerInfo
Örnekler
Aşağıdaki kod örneği dil sağlayıcısı yapılandırma ayarlarını görüntüler. Komut satırı bağımsız değişkenleri bir dil, dosya adı uzantısı veya sağlayıcı türü belirtmek için kullanılır. Verilen giriş için, örnek ilgili dil sağlayıcısını belirler ve yapılandırılan dil derleyicisi ayarlarını görüntüler.
// Command-line argument examples:
// - Displays Visual Basic, C#, and JScript compiler settings.
// <exe_name> Language CSharp
// - Displays the compiler settings for C#.
// <exe_name> All
// - Displays settings for all configured compilers.
// <exe_name> Config Pascal
// - Displays settings for configured Pascal language provider,
// if one exists.
// <exe_name> Extension .vb
// - Displays settings for the compiler associated with the .vb
// file extension.
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Globalization;
using namespace System::CodeDom;
using namespace System::CodeDom::Compiler;
using namespace Microsoft::CSharp;
using namespace Microsoft::VisualBasic;
using namespace System::Configuration;
using namespace System::Security::Permissions;
namespace CodeDomCompilerInfoSample
{
[PermissionSet(SecurityAction::Demand, Name="FullTrust")]
public ref class CompilerInfoSample
{
public:
static void Main( array<String^>^args )
{
String^ queryCommand = "";
String^ queryArg = "";
int iNumArguments = args->Length;
// Get input command-line arguments.
if ( iNumArguments > 0 )
{
queryCommand = args[ 0 ]->ToUpper( CultureInfo::InvariantCulture );
if ( iNumArguments > 1 )
queryArg = args[ 1 ];
}
// Determine which method to call.
Console::WriteLine();
if ( queryCommand->Equals( "LANGUAGE" ) )
DisplayCompilerInfoForLanguage( queryArg ); // Display compiler information for input language.
else if ( queryCommand->Equals( "EXTENSION" ) )
DisplayCompilerInfoUsingExtension( queryArg ); // Display compiler information for input file extension.
else if ( queryCommand->Equals( "CONFIG" ) )
DisplayCompilerInfoForConfigLanguage( queryArg ); // Display settings for the configured language provider.
else if ( queryCommand->Equals( "ALL" ) )
DisplayAllCompilerInfo(); // Display compiler information for all configured language providers.
else
{
// There was no command-line argument, or the
// command-line argument was not recognized.
// Display the C#, Visual Basic and JScript
// compiler information.
DisplayCSharpCompilerInfo();
DisplayVBCompilerInfo();
DisplayJScriptCompilerInfo();
}
}
private:
static void DisplayCSharpCompilerInfo()
{
// Get the provider for Microsoft.CSharp
// CodeDomProvider^ provider = CodeDomProvider.CreateProvider("CSharp");
CodeDomProvider^ provider = CodeDomProvider::CreateProvider("CSharp");
if ( provider )
{
// Display the C# language provider information.
Console::WriteLine( "CSharp provider is {0}", provider->ToString() );
Console::WriteLine( " Provider hash code: {0}", provider->GetHashCode().ToString() );
Console::WriteLine( " Default file extension: {0}", provider->FileExtension );
}
Console::WriteLine();
}
static void DisplayVBCompilerInfo()
{
// Get the provider for Microsoft.VisualBasic
// CodeDomProvider^ provider = CodeDomProvider.CreateProvider("VisualBasic");
CodeDomProvider^ provider = CodeDomProvider::CreateProvider("VisualBasic");
if ( provider ) // Display the Visual Basic language provider information.
{
Console::WriteLine( "Visual Basic provider is {0}", provider->ToString() );
Console::WriteLine( " Provider hash code: {0}", provider->GetHashCode().ToString() );
Console::WriteLine( " Default file extension: {0}", provider->FileExtension );
}
Console::WriteLine();
}
static void DisplayJScriptCompilerInfo()
{
// Get the provider for JScript.
CodeDomProvider^ provider;
try
{
// provider = CodeDomProvider.CreateProvider("JScript");
provider = CodeDomProvider::CreateProvider("JScript");
if ( provider )
{
// Display the JScript language provider information.
Console::WriteLine( "JScript language provider is {0}", provider->ToString() );
Console::WriteLine( " Provider hash code: {0}", provider->GetHashCode().ToString() );
Console::WriteLine( " Default file extension: {0}", provider->FileExtension );
Console::WriteLine();
}
}
catch ( ConfigurationException^ e )
{
// The JScript language provider was not found.
Console::WriteLine( "There is no configured JScript language provider." );
}
}
static void DisplayCompilerInfoUsingExtension( String^ fileExtension )
{
if ( !fileExtension->StartsWith( "." ) )
fileExtension = String::Concat( ".", fileExtension );
// Get the language associated with the file extension.
CodeDomProvider^ provider = nullptr;
if ( CodeDomProvider::IsDefinedExtension( fileExtension ) )
{
String^ language = CodeDomProvider::GetLanguageFromExtension( fileExtension );
if ( language )
Console::WriteLine( "The language \"{0}\" is associated with file extension \"{1}\"\n",
language, fileExtension );
// Check for a corresponding language provider.
if ( language && CodeDomProvider::IsDefinedLanguage( language ) )
{
provider = CodeDomProvider::CreateProvider( language );
if ( provider )
{
// Display information about this language provider.
Console::WriteLine( "Language provider: {0}\n", provider->ToString() );
// 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 language provider associated with input file extension \"{0}\".", fileExtension );
}
static void DisplayCompilerInfoForLanguage( String^ language )
{
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 );
}
static void DisplayCompilerInfoForConfigLanguage( String^ configLanguage )
{
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 );
}
static void DisplayAllCompilerInfo()
{
array<CompilerInfo^>^allCompilerInfo = CodeDomProvider::GetAllCompilerInfo();
for ( int i = 0; i < allCompilerInfo->Length; i++ )
{
String^ defaultLanguage;
String^ defaultExtension;
CompilerInfo^ info = allCompilerInfo[ i ];
CodeDomProvider^ provider = nullptr;
if ( info )
provider = info->CreateProvider();
if ( provider )
{
// Display information about this configured provider.
Console::WriteLine( "Language provider: {0}", provider->ToString() );
Console::WriteLine();
Console::WriteLine( " Supported file extension(s):" );
array<String^>^extensions = info->GetExtensions();
for ( int i = 0; i < extensions->Length; i++ )
Console::WriteLine( " {0}", extensions[ i ] );
defaultExtension = provider->FileExtension;
if ( !defaultExtension->StartsWith( "." ) )
defaultExtension = String::Concat( ".", defaultExtension );
Console::WriteLine( " Default file extension: {0}\n", defaultExtension );
Console::WriteLine( " Supported language(s):" );
array<String^>^languages = info->GetLanguages();
for ( int i = 0; i < languages->Length; i++ )
Console::WriteLine( " {0}", languages[ i ] );
defaultLanguage = CodeDomProvider::GetLanguageFromExtension( defaultExtension );
Console::WriteLine( " Default language: {0}", defaultLanguage );
Console::WriteLine();
// Get the compiler settings for this provider.
CompilerParameters^ langCompilerConfig = info->CreateDefaultCompilerParameters();
if ( langCompilerConfig )
{
Console::WriteLine( " Compiler options: {0}", langCompilerConfig->CompilerOptions );
Console::WriteLine( " Compiler warning level: {0}", langCompilerConfig->WarningLevel.ToString() );
}
}
}
}
};
}
// The main entry point for the application.
[STAThread]
int main( int argc, char *argv[] )
{
CodeDomCompilerInfoSample::CompilerInfoSample::Main( Environment::GetCommandLineArgs() );
Console::WriteLine("\n\nPress ENTER to return");
Console::ReadLine();
}
// Command-line argument examples:
// - Displays Visual Basic, C#, and JScript compiler settings.
// <exe_name> Language CSharp
// - Displays the compiler settings for C#.
// <exe_name> All
// - Displays settings for all configured compilers.
// <exe_name> Config Pascal
// - Displays settings for configured Pascal language provider,
// if one exists.
// <exe_name> Extension .vb
// - Displays settings for the compiler associated with the .vb
// file extension.
using System;
using System.Globalization;
using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using Microsoft.VisualBasic;
namespace CodeDomCompilerInfoSample
{
class CompilerInfoSample
{
[STAThread]
static void Main(string[] args)
{
String queryCommand = "";
String queryArg = "";
int iNumArguments = args.Length;
// Get input command-line arguments.
if (iNumArguments > 0)
{
queryCommand = args[0].ToUpper(CultureInfo.InvariantCulture);
if (iNumArguments > 1)
{
queryArg = args[1];
}
}
// Determine which method to call.
Console.WriteLine();
switch(queryCommand)
{
case ("LANGUAGE"):
// Display compiler information for input language.
DisplayCompilerInfoForLanguage(queryArg);
break;
case ("EXTENSION"):
// Display compiler information for input file extension.
DisplayCompilerInfoUsingExtension(queryArg);
break;
case ("CONFIG"):
// Display settings for the configured language provider.
DisplayCompilerInfoForConfigLanguage(queryArg);
break;
case ("ALL"):
// Display compiler information for all configured
// language providers.
DisplayAllCompilerInfo();
break;
default:
// There was no command-line argument, or the
// command-line argument was not recognized.
// Display the C#, Visual Basic and JScript
// compiler information.
DisplayCSharpCompilerInfo();
DisplayVBCompilerInfo();
DisplayJScriptCompilerInfo();
break;
}
}
static void DisplayCSharpCompilerInfo()
{
// Get the provider for Microsoft.CSharp
CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
// Display the C# language provider information.
Console.WriteLine("CSharp provider is {0}",
provider.ToString());
Console.WriteLine(" Provider hash code: {0}",
provider.GetHashCode().ToString());
Console.WriteLine(" Default file extension: {0}",
provider.FileExtension);
Console.WriteLine();
}
static void DisplayVBCompilerInfo()
{
// Get the provider for Microsoft.VisualBasic
CodeDomProvider provider = CodeDomProvider.CreateProvider("VisualBasic");
// Display the Visual Basic language provider information.
Console.WriteLine("Visual Basic provider is {0}",
provider.ToString());
Console.WriteLine(" Provider hash code: {0}",
provider.GetHashCode().ToString());
Console.WriteLine(" Default file extension: {0}",
provider.FileExtension);
Console.WriteLine();
}
static void DisplayJScriptCompilerInfo()
{
// Get the provider for JScript.
CodeDomProvider provider;
try
{
provider = CodeDomProvider.CreateProvider("js");
// Display the JScript language provider information.
Console.WriteLine("JScript language provider is {0}",
provider.ToString());
Console.WriteLine(" Provider hash code: {0}",
provider.GetHashCode().ToString());
Console.WriteLine(" Default file extension: {0}",
provider.FileExtension);
Console.WriteLine();
}
catch (System.Configuration.ConfigurationException)
{
// The JScript language provider was not found.
Console.WriteLine("There is no configured JScript language provider.");
}
}
static void DisplayCompilerInfoUsingExtension(string fileExtension)
{
if (fileExtension[0] != '.')
{
fileExtension = "." + fileExtension;
}
// Get the language associated with the file extension.
if (CodeDomProvider.IsDefinedExtension(fileExtension))
{
CodeDomProvider provider;
String language = CodeDomProvider.GetLanguageFromExtension(fileExtension);
Console.WriteLine("The language \"{0}\" is associated with file extension \"{1}\"",
language, fileExtension);
Console.WriteLine();
// Next, check for a corresponding language provider.
if (CodeDomProvider.IsDefinedLanguage(language))
{
provider = CodeDomProvider.CreateProvider(language);
// Display information about this language provider.
Console.WriteLine("Language provider: {0}",
provider.ToString());
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 language provider associated with input file extension \"{0}\".",
fileExtension);
}
}
static void DisplayCompilerInfoForLanguage(string 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);
}
}
static void DisplayCompilerInfoForConfigLanguage(string 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);
}
}
static void DisplayAllCompilerInfo()
{
CompilerInfo [] allCompilerInfo = CodeDomProvider.GetAllCompilerInfo();
foreach (CompilerInfo info in allCompilerInfo)
{
String defaultLanguage;
String defaultExtension;
CodeDomProvider provider = info.CreateProvider();
// Display information about this configured provider.
Console.WriteLine("Language provider: {0}",
provider.ToString());
Console.WriteLine();
Console.WriteLine(" Supported file extension(s):");
foreach(String extension in info.GetExtensions())
{
Console.WriteLine(" {0}", extension);
}
defaultExtension = provider.FileExtension;
if (defaultExtension[0] != '.')
{
defaultExtension = "." + defaultExtension;
}
Console.WriteLine(" Default file extension: {0}",
defaultExtension);
Console.WriteLine();
Console.WriteLine(" Supported language(s):");
foreach(String language in info.GetLanguages())
{
Console.WriteLine(" {0}", language);
}
defaultLanguage = CodeDomProvider.GetLanguageFromExtension(defaultExtension);
Console.WriteLine(" Default language: {0}",
defaultLanguage);
Console.WriteLine();
// Get the compiler settings for this provider.
CompilerParameters langCompilerConfig = info.CreateDefaultCompilerParameters();
Console.WriteLine(" Compiler options: {0}",
langCompilerConfig.CompilerOptions);
Console.WriteLine(" Compiler warning level: {0}",
langCompilerConfig.WarningLevel);
Console.WriteLine();
}
}
}
}
' Command-line argument examples:
' - Displays Visual Basic, C#, and JScript compiler settings.
' <exe_name> Language CSharp
' - Displays the compiler settings for C#.
' <exe_name> All
' - Displays settings for all configured compilers.
' <exe_name> Config Pascal
' - Displays settings for configured Pascal language provider,
' if one exists.
' <exe_name> Extension .vb
' - Displays settings for the compiler associated with the .vb
' file extension.
Imports System.IO
Imports System.Globalization
Imports System.CodeDom
Imports System.CodeDom.Compiler
Imports Microsoft.CSharp
Imports System.ComponentModel
Namespace CodeDomCompilerInfoSample
Class CompilerInfoSample
<STAThread()> _
Public Shared Sub Main(ByVal args() As String)
Dim queryCommand As String = ""
Dim queryArg As String = ""
Dim iNumArguments As Integer = args.Length
' Get input command-line arguments.
If iNumArguments > 0 Then
queryCommand = args(0).ToUpper(CultureInfo.InvariantCulture)
If iNumArguments > 1 Then
queryArg = args(1)
End If
End If
' Determine which method to call.
Console.WriteLine()
Select Case queryCommand
Case "LANGUAGE"
' Display compiler information for input language.
DisplayCompilerInfoForLanguage(queryArg)
Case "EXTENSION"
' Display compiler information for input file extension.
DisplayCompilerInfoUsingExtension(queryArg)
Case "CONFIG"
' Display settings for the configured language provider.
DisplayCompilerInfoForConfigLanguage(queryArg)
Case "ALL"
' Display compiler information for all configured
' language providers.
DisplayAllCompilerInfo()
Case Else
' There was no command-line argument, or the
' command-line argument was not recognized.
' Display the C#, Visual Basic and JScript
' compiler information.
DisplayCSharpCompilerInfo()
DisplayVBCompilerInfo()
DisplayJScriptCompilerInfo()
End Select
End Sub
Shared Sub DisplayCSharpCompilerInfo()
' Get the provider for Microsoft.CSharp
Dim provider = CodeDomProvider.CreateProvider("CSharp")
' Display the C# language provider information.
Console.WriteLine("CSharp provider is {0}", _
provider.ToString())
Console.WriteLine(" Provider hash code: {0}", _
provider.GetHashCode().ToString())
Console.WriteLine(" Default file extension: {0}", _
provider.FileExtension)
Console.WriteLine()
End Sub
Shared Sub DisplayVBCompilerInfo()
' Get the provider for Microsoft.VisualBasic
Dim provider = CodeDomProvider.CreateProvider("VisualBasic")
' Display the Visual Basic language provider information.
Console.WriteLine("Visual Basic provider is {0}", _
provider.ToString())
Console.WriteLine(" Provider hash code: {0}", _
provider.GetHashCode().ToString())
Console.WriteLine(" Default file extension: {0}", _
provider.FileExtension)
Console.WriteLine()
End Sub
Shared Sub DisplayJScriptCompilerInfo()
' Get the provider for JScript.
Dim provider As CodeDomProvider
Try
provider = CodeDomProvider.CreateProvider("js")
' Display the JScript language provider information.
Console.WriteLine("JScript language provider is {0}", _
provider.ToString())
Console.WriteLine(" Provider hash code: {0}", _
provider.GetHashCode().ToString())
Console.WriteLine(" Default file extension: {0}", _
provider.FileExtension)
Console.WriteLine()
Catch e As System.Configuration.ConfigurationException
' The JScript language provider was not found.
Console.WriteLine("There is no configured JScript language provider.")
End Try
End Sub
Shared Sub DisplayCompilerInfoUsingExtension(fileExtension As String)
If Not fileExtension.StartsWith(".") Then
fileExtension = "." + fileExtension
End If
' Get the language associated with the file extension.
If CodeDomProvider.IsDefinedExtension(fileExtension) Then
Dim provider As CodeDomProvider
Dim language As String = CodeDomProvider.GetLanguageFromExtension(fileExtension)
Console.WriteLine("The language ""{0}"" is associated with file extension ""{1}""", _
language, fileExtension)
Console.WriteLine()
' Check for a corresponding language provider.
If CodeDomProvider.IsDefinedLanguage(language) Then
provider = CodeDomProvider.CreateProvider(language)
' Display information about this language provider.
Console.WriteLine("Language provider: {0}", _
provider.ToString())
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)
End If
Else
' Tell the user that the language provider was not found.
Console.WriteLine("There is no language provider associated with input file extension ""{0}"".", fileExtension)
End If
End Sub
Shared Sub DisplayCompilerInfoForLanguage(language As String)
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
End Sub
Shared Sub DisplayCompilerInfoForConfigLanguage(configLanguage As String)
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
End Sub
Shared Sub DisplayAllCompilerInfo()
Dim allCompilerInfo As CompilerInfo() = CodeDomProvider.GetAllCompilerInfo()
Dim info As CompilerInfo
For Each info In allCompilerInfo
Dim defaultLanguage As String
Dim defaultExtension As String
Dim provider As CodeDomProvider = info.CreateProvider()
' Display information about this configured provider.
Console.WriteLine("Language provider: {0}", _
provider.ToString())
Console.WriteLine()
Console.WriteLine(" Supported file extension(s):")
Dim extension As String
For Each extension In info.GetExtensions()
Console.WriteLine(" {0}", extension)
Next extension
defaultExtension = provider.FileExtension
If Not defaultExtension.StartsWith(".") Then
defaultExtension = "." + defaultExtension
End If
Console.WriteLine(" Default file extension: {0}", _
defaultExtension)
Console.WriteLine()
Console.WriteLine(" Supported language(s):")
Dim language As String
For Each language In info.GetLanguages()
Console.WriteLine(" {0}", language)
Next language
defaultLanguage = CodeDomProvider.GetLanguageFromExtension(defaultExtension)
Console.WriteLine(" Default language: {0}", _
defaultLanguage)
Console.WriteLine()
' Get the compiler settings for this provider.
Dim langCompilerConfig As CompilerParameters = info.CreateDefaultCompilerParameters()
Console.WriteLine(" Compiler options: {0}", _
langCompilerConfig.CompilerOptions)
Console.WriteLine(" Compiler warning level: {0}", _
langCompilerConfig.WarningLevel)
Console.WriteLine()
Next info
End Sub
End Class
End Namespace 'CodeDomCompilerInfoSample
Açıklamalar
CompilerInfo Bir uygulamanın bilgisayarda yapılandırılıp yapılandırılmadığını belirlemek veya belirli bir CodeDomProvider dil sağlayıcısının yapılandırma ve derleyici ayarlarını incelemek için sınıfını kullanın.
Makine yapılandırma dosyasındaki system.codedom> Öğesi dil sağlayıcısını ve derleyici yapılandırma ayarlarını içerir.< Yapılandırılan her dil sağlayıcısının karşılık gelen bir derleyici yapılandırma öğesi vardır. Her öğe uygulama türünü, desteklenen dil adlarını, desteklenen dosya adı uzantılarını ve derleyici parametrelerini tanımlar CodeDomProvider .
.NET Framework, makine yapılandırma dosyasındaki ilk derleyici ayarlarını tanımlar. Geliştiriciler ve derleyici satıcıları yeni CodeDomProvider bir uygulama için yapılandırma ayarları ekleyebilir.
sınıfı, CompilerInfo makine yapılandırma dosyasında bu ayarlara salt okunur erişim sağlar. Dil sağlayıcısına GetLanguageskarşılık gelen yapılandırma özniteliklerini incelemek için , GetExtensionsve CodeDomProviderType üyelerini kullanın. CreateDefaultCompilerParameters Bir dil sağlayıcısı için derleyici seçeneklerini ve uyarı düzeyi öznitelik değerlerini almak için yöntemini kullanın.
Yapılandırma dosyasındaki dil sağlayıcısı ayarları hakkında daha fazla bilgi için bkz. Derleyici ve Dil Sağlayıcısı Ayarları Şeması.
Not
Bu sınıf, tüm üyeler için geçerli olan sınıf düzeyinde bir bağlantı talebi içerir. Hemen çağıranın tam güven izni olmadığında bir SecurityException oluşturulur. Bağlantı talepleri hakkında ayrıntılı bilgi için bkz. Bağlantı Talepleri.
Özellikler
CodeDomProviderType |
Yapılandırılan CodeDomProvider uygulamanın türünü alır. |
IsCodeDomProviderTypeValid |
Dil sağlayıcısı uygulamasının bilgisayarda yapılandırılıp yapılandırılmadığını gösteren bir değer döndürür. |
Yöntemler
CreateDefaultCompilerParameters() |
Dil sağlayıcısı uygulaması için yapılandırılan derleyici ayarlarını alır. |
CreateProvider() |
Geçerli dil sağlayıcısı ayarları için bir CodeDomProvider örnek döndürür. |
CreateProvider(IDictionary<String,String>) |
Geçerli dil sağlayıcısı ayarları ve belirtilen seçenekler için bir CodeDomProvider örnek döndürür. |
Equals(Object) |
Belirtilen nesnenin geçerli CompilerInfoile aynı dil sağlayıcısını ve derleyici ayarlarını temsil edip etmediğini belirler. |
GetExtensions() |
Dil sağlayıcısı tarafından desteklenen dosya adı uzantılarını döndürür. |
GetHashCode() |
Geçerli örneğin karma kodunu döndürür. |
GetLanguages() |
Dil sağlayıcısı tarafından desteklenen dil adlarını alır. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |