CodeDomProvider.CreateProvider メソッド
アセンブリ: System (system.dll 内)

<ComVisibleAttribute(False)> _ Public Shared Function CreateProvider ( _ language As String _ ) As CodeDomProvider
Dim language As String Dim returnValue As CodeDomProvider returnValue = CodeDomProvider.CreateProvider(language)
/** @attribute ComVisibleAttribute(false) */ public static CodeDomProvider CreateProvider ( String language )
ComVisibleAttribute(false) public static function CreateProvider ( language : String ) : CodeDomProvider
戻り値
指定した言語名に対して実装される CodeDomProvider インスタンス。


![]() |
---|
ほとんどの場合、このメソッドを使用して、複数のプロバイダのいずれかをオプションで使用できるアプリケーション内に、コード プロバイダのインスタンスを作成します。CreateProvider を使用すると、インスタンス化するコード プロバイダを実行時に指定できます。使用するコード プロバイダがデザイン時にわかっている場合は、CreateProvider メソッドを使用するのではなく、そのコード プロバイダのインスタンスを作成します。 |
CreateProvider メソッドは、特定の言語名の CodeDomProvider インスタンスを返します。これは、言語プロバイダの種類を指定して、Activator.CreateInstance メソッドを呼び出すことと同様です。言語名の構成済みのプロバイダ実装を動的に検索する場合は、CreateProvider を使用します。
言語名に対して複数のプロバイダ実装が構成されている場合、CreateProvider は、最後に一致する構成要素のプロバイダ インスタンスを返します。
特定の言語プロバイダを実装する必要がある場合は、Activator.CreateInstance(Type,BindingFlags,Binder,Object[],CultureInfo) メソッド オーバーロードを使用します。たとえば、CreateProvider メソッドを使用して、言語名 "CSharp" をサポートするプロバイダ インスタンスを取得します。Activator.CreateInstance(Type,BindingFlags,Binder,Object[],CultureInfo) メソッド オーバーロードを使用して、Microsoft.CSharp.CSharpCodeProvider 実装に固有のプロバイダ インスタンスを取得します。ある言語の複数のコード プロバイダがあるときに、特定のコード プロバイダをインスタンス化する場合は、Activator.CreateInstance(Type,BindingFlags,Binder,Object[],CultureInfo,Object[]) メソッドを使用する必要があります。
IsDefinedLanguage メソッドは、少なくとも 1 つのプロバイダ実装が特定の言語をサポートしているどうかをチェックします。CreateProvider に言語名を渡す前に、IsDefinedLanguage を使用してその言語名を検証できます。サポートされていない言語名を CreateProvider に渡すと、System.Configuration.ConfigurationException がスローされます。
GetAllCompilerInfo メソッドを使用すると、コンピュータ上のすべての CodeDomProvider 実装を確認できます。これには、開発者やコンパイラ販売元によって提供され、マシン構成ファイル (Machine.config) の <system.codedom> 要素 で識別される追加の実装も含まれます。

入力言語の CodeDomProvider 実装を確認し、その言語プロバイダの構成済みの設定を表示するコード例を次に示します。
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
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); }
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 ); }


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からCodeDomProvider.CreateProvider メソッドを検索する場合は、下記のリンクをクリックしてください。

- CodeDomProvider.CreateProvider メソッドのページへのリンク