Caprices

CodeDomProvider

メンバ

コンストラクタ

protected CodeDomProvider();
概要
System.CodeDom.Compiler.CodeDomProvider クラスの新しいインスタンスを初期化します。

▲ページ先頭へ

プロパティ

public virtual LanguageOptions LanguageOptions{ get; }
概要
言語機能識別子を取得します。
戻り値
言語の特殊な機能を示す System.CodeDom.Compiler.LanguageOptions。
public virtual string FileExtension{ get; }
概要
現在の言語でソース コード ファイルを使用する既定のファイル名拡張子を取得します。
戻り値
現在の言語のソース ファイルの拡張子に対応するファイル名拡張子。 基本実装を常に System.String.Emptyします。
CanRaiseEvents
コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。 (Inherited from Component)
Container
IContainer を格納している Component を取得します。 (Inherited from Component)
DesignMode
Component が現在デザイン モードかどうかを示す値を取得します。 (Inherited from Component)
Events
Component に結び付けられているイベント ハンドラーのリストを取得します。 (Inherited from Component)
Site
Component の ISite を取得または設定します。 (Inherited from Component)

▲ページ先頭へ

メソッド

[ComVisible( false )]
public static CodeDomProvider CreateProvider( string language, IDictionary<string, string> providerOptions );
概要
指定された言語オプションおよびプロバイダー オプションの CodeDomProvider インスタンスを取得します。
パラメーター
language
言語の名前。
providerOptions
構成ファイルからプロバイダー オプションのコレクション。
戻り値
指定された言語名とオプションの実装されている CodeDOM プロバイダー。
[ComVisible( false )]
public static CodeDomProvider CreateProvider( string language );
概要
指定した言語の CodeDomProvider インスタンスを取得します。
パラメーター
language
言語の名前。
戻り値
指定された言語名に実装されている CodeDOM プロバイダー。
例外
T:System.Configuration.ConfigurationErrorsException
language このコンピューターで構成されているプロバイダーはありません。
T:System.ArgumentNullException
language が null です。
T:System.Security.SecurityException
呼び出し元に、必要なアクセス許可がありません。
[ComVisible( false )]
public static CompilerInfo [] GetAllCompilerInfo();
概要
このコンピューターの言語プロバイダーおよびコンパイラの構成設定を返します。
戻り値
型の配列 System.CodeDom.Compiler.CompilerInfo 構成済みのすべての設定を表す System.CodeDom.Compiler.CodeDomProvider実装します。
例外
T:System.Security.SecurityException
呼び出し元に、必要なアクセス許可がありません。
[ComVisible( false )]
public static CompilerInfo GetCompilerInfo( string language );
概要
指定した言語の言語プロバイダーおよびコンパイラの構成設定を返します。
パラメーター
language
言語の名前です。
戻り値
A System.CodeDom.Compiler.CompilerInfo オブジェクトで構成されている設定が設定された System.CodeDom.Compiler.CodeDomProvider実装します。
例外
T:System.Configuration.ConfigurationException
language このコンピューターで構成されているプロバイダーはありません。
T:System.Configuration.ConfigurationErrorsException
language が null です。
T:System.Security.SecurityException
呼び出し元に、必要なアクセス許可がありません。
[ComVisible( false )]
public static string GetLanguageFromExtension( string extension );
概要
CodeDomProvider のコンパイラ構成セクションに構成されている、指定したファイル名拡張子に関連付けられた言語名を返します。
パラメーター
extension
ファイル名の拡張子。
戻り値
関連付けられているファイル名拡張子で構成されている言語の名前、 System.CodeDom.Compiler.CodeDomProvider コンパイラ構成設定。
例外
T:System.Configuration.ConfigurationException
extension このコンピューターで構成した言語プロバイダーはありません。
T:System.Configuration.ConfigurationErrorsException
extension が null です。
T:System.Security.SecurityException
呼び出し元に、必要なアクセス許可がありません。
[ComVisible( false )]
public static bool IsDefinedExtension( string extension );
概要
コンピューター上に、ファイル名拡張子の関連する CodeDomProvider 実装が構成されているかどうかを調べます。
パラメーター
extension
ファイル名の拡張子。
戻り値
true 場合、 System.CodeDom.Compiler.CodeDomProvider 実装は、指定したファイル名拡張子に対して構成されている以外の場合、falseです。
例外
T:System.ArgumentNullException
extension が null です。
T:System.Security.SecurityException
呼び出し元に、必要なアクセス許可がありません。
[ComVisible( false )]
public static bool IsDefinedLanguage( string language );
概要
コンピューター上に、言語の CodeDomProvider 実装が構成されているかどうかを調べます。
パラメーター
language
言語の名前。
戻り値
true 場合、 System.CodeDom.Compiler.CodeDomProvider 実装は、指定された言語用に構成されている以外の場合、 falseです。
例外
T:System.ArgumentNullException
language が null です。
T:System.Security.SecurityException
呼び出し元に、必要なアクセス許可がありません。
public virtual CompilerResults CompileAssemblyFromDom( CompilerParameters options, params CodeCompileUnit [] compilationUnits );
概要
指定したコンパイラ設定を使用して、指定した System.CodeDom オブジェクトの配列に含まれている CodeCompileUnit ツリーに基づいてアセンブリをコンパイルします。
パラメーター
options
A System.CodeDom.Compiler.CompilerParameters 、コンパイル時の設定を示すオブジェクト。
compilationUnits
型の配列 System.CodeDom.CodeCompileUnit を示すコードをコンパイルします。
戻り値
A System.CodeDom.Compiler.CompilerResults コンパイルの結果を示すオブジェクト。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateCompiler メソッドが派生クラスでオーバーライドします。
public virtual CompilerResults CompileAssemblyFromFile( CompilerParameters options, params string[] fileNames );
概要
指定したコンパイラ設定を使用して、指定したファイルに格納されているソース コードからアセンブリをコンパイルします。
パラメーター
options
A System.CodeDom.Compiler.CompilerParameters 、コンパイル時の設定を示すオブジェクト。
fileNames
コンパイルするファイルの名前の配列。
戻り値
A System.CodeDom.Compiler.CompilerResults コンパイルの結果を示すオブジェクト。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateCompiler メソッドが派生クラスでオーバーライドします。
public virtual CompilerResults CompileAssemblyFromSource( CompilerParameters options, params string[] sources );
概要
指定したコンパイラ設定を使用して、ソース コードが格納されている指定した文字列の配列からアセンブリをコンパイルします。
パラメーター
options
A System.CodeDom.Compiler.CompilerParameters このコンパイルのコンパイラ設定を示すオブジェクト。
sources
コンパイルするソース コードの文字列の配列。
戻り値
A System.CodeDom.Compiler.CompilerResults コンパイルの結果を示すオブジェクト。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateCompiler メソッドが派生クラスでオーバーライドします。
[Obsolete( "Callers should not use the ICodeCompiler interface and should instead use the methods directly on the CodeDomProvider class. Those inheriting from CodeDomProvider must still implement this interface, and should exclude this warning or also obsolete this method." )]
public abstract ICodeCompiler CreateCompiler();
概要
派生クラスでオーバーライドされた場合は、新しいコード コンパイラを作成します。
戻り値
System.CodeDom.Compiler.ICodeCompiler のコンパイルに使用する System.CodeDom ベースのソース コードの表現です。
public virtual string CreateEscapedIdentifier( string value );
概要
指定した値のエスケープ識別子を作成します。
パラメーター
value
エスケープされた識別子を作成する対象の文字列です。
戻り値
値のエスケープされた識別子です。
例外
T:System.NotImplementedException
このメソッドはどちらもSystem.CodeDom.Compiler.CodeDomProvider.CreateGeneratorメソッドが派生クラスでオーバーライドします。
public virtual ICodeGenerator CreateGenerator( string fileName );
概要
派生クラスでオーバーライドされると、新しいコード ジェネレーターを作成します。
パラメーター
fileName
出力先ファイル名。
戻り値
System.CodeDom.Compiler.ICodeGenerator 生成に使用できる System.CodeDom ベースのソース コードの表現です。
[Obsolete( "Callers should not use the ICodeGenerator interface and should instead use the methods directly on the CodeDomProvider class. Those inheriting from CodeDomProvider must still implement this interface, and should exclude this warning or also obsolete this method." )]
public abstract ICodeGenerator CreateGenerator();
概要
派生クラスでオーバーライドされた場合は、新しいコード ジェネレーターを作成します。
戻り値
System.CodeDom.Compiler.ICodeGenerator 生成に使用できる System.CodeDom ベースのソース コードの表現です。
public virtual ICodeGenerator CreateGenerator( TextWriter output );
概要
派生クラスでオーバーライドされると、出力用に指定されている TextWriter を使用して、新しいコード ジェネレーターを作成します。
パラメーター
output
A System.IO.TextWriter を使用するを出力します。
戻り値
System.CodeDom.Compiler.ICodeGenerator 生成に使用できる System.CodeDom ベースのソース コードの表現です。
[Obsolete( "Callers should not use the ICodeParser interface and should instead use the methods directly on the CodeDomProvider class. Those inheriting from CodeDomProvider must still implement this interface, and should exclude this warning or also obsolete this method." )]
public virtual ICodeParser CreateParser();
概要
派生クラスでオーバーライドされると、新しいコード パーサーを作成します。
戻り値
System.CodeDom.Compiler.ICodeParser ソース コードの解析に使用できます。 基本実装を常に nullします。
public virtual string CreateValidIdentifier( string value );
概要
指定した値の有効な識別子を作成します。
パラメーター
value
有効な識別子を生成する対象の文字列です。
戻り値
指定された値の有効な識別子です。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
public virtual void GenerateCodeFromCompileUnit( CodeCompileUnit compileUnit, TextWriter writer, CodeGeneratorOptions options );
概要
指定した CodeDOM (Code Document Object Model) コンパイル単位のコードを生成し、指定したオプションを使用して、指定したテキストライターに生成されたコードを送信します。
パラメーター
compileUnit
A System.CodeDom.CodeCompileUnit コードを生成するためです。
writer
System.IO.TextWriter 出力コードが送信されます。
options
A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
public virtual void GenerateCodeFromExpression( CodeExpression expression, TextWriter writer, CodeGeneratorOptions options );
概要
指定した CodeDOM (Code Document Object Model) 式のコードを生成し、指定したオプションを使用して、指定したテキスト ライターに生成されたコードを送信します。
パラメーター
expression
A System.CodeDom.CodeExpression コードを生成するための式を示すオブジェクト。
writer
System.IO.TextWriter 出力をコードを送信します。
options
A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
public virtual void GenerateCodeFromMember( CodeTypeMember member, TextWriter writer, CodeGeneratorOptions options );
概要
指定した CodeDOM (Code Document Object Model) メンバー宣言のコードを生成し、指定したオプションを使用して、指定したテキスト ライターに生成されたコードを送信します。
パラメーター
member
A System.CodeDom.CodeTypeMember コードを生成する対象のメンバーを示すオブジェクト。
writer
System.IO.TextWriter 出力をコードを送信します。
options
A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
例外
T:System.NotImplementedException
このメソッドは派生クラスでオーバーライドできません。
public virtual void GenerateCodeFromNamespace( CodeNamespace codeNamespace, TextWriter writer, CodeGeneratorOptions options );
概要
指定した CodeDOM (Code Document Object Model) 名前空間のコードを生成し、指定したオプションを使用して、指定したテキスト ライターに生成されたコードを送信します。
パラメーター
codeNamespace
A System.CodeDom.CodeNamespace コードを生成する対象の名前空間を示すオブジェクト。
writer
System.IO.TextWriter 出力をコードを送信します。
options
A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
public virtual void GenerateCodeFromStatement( CodeStatement statement, TextWriter writer, CodeGeneratorOptions options );
概要
指定した CodeDOM (Code Document Object Model) ステートメントのコードを生成し、指定したオプションを使用して、指定したテキスト ライターに生成されたコードを送信します。
パラメーター
statement
A System.CodeDom.CodeStatement コードを生成するための CodeDOM 要素を格納します。
writer
System.IO.TextWriter 出力をコードを送信します。
options
A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
public virtual void GenerateCodeFromType( CodeTypeDeclaration codeType, TextWriter writer, CodeGeneratorOptions options );
概要
指定した CodeDOM (Code Document Object Model) 型宣言のコードを生成し、指定したオプションを使用して、指定したテキスト ライターに生成されたコードを送信します。
パラメーター
codeType
A System.CodeDom.CodeTypeDeclaration コードを生成する対象の種類を示すオブジェクト。
writer
System.IO.TextWriter 出力をコードを送信します。
options
A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
public virtual TypeConverter GetConverter( Type type );
概要
指定したデータ ソースの TypeConverter を取得します。
パラメーター
type
型コンバーターを取得する対象のオブジェクトの型。
戻り値
A System.ComponentModel.TypeConverter 指定した型または null 場合、 System.ComponentModel.TypeConverter、指定した型が見つかりません。
public virtual string GetTypeOutput( CodeTypeReference type );
概要
指定した CodeTypeReference で示される型を取得します。
パラメーター
type
A System.CodeDom.CodeTypeReference を返す型を示します。
戻り値
指定した型のテキスト表現は、このコード ジェネレーターによってコードを生成する言語の書式設定されます。 Visual basic などを渡して、 System.CodeDom.CodeTypeReferenceの System.Int32 型は"Integer"を返します。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
public virtual bool IsValidIdentifier( string value );
概要
指定した値が現在の言語で有効な識別子であるかどうかを示す値を返します。
パラメーター
value
有効な識別子を確認する値。
戻り値
true 場合、 value パラメーターが有効な識別子。 そうしないと、 falseです。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
public virtual CodeCompileUnit Parse( TextReader codeStream );
概要
指定したテキスト ストリームから読み取ったコードを CodeCompileUnit にコンパイルします。
パラメーター
codeStream
A System.IO.TextReader を解析するコードを読み取るために使用します。
戻り値
A System.CodeDom.CodeCompileUnit 、解析されたコードの表現を格納します。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
public virtual bool Supports( GeneratorSupport generatorSupport );
概要
指定したコードを生成できるかどうかを示す値を返します。
パラメーター
generatorSupport
A System.CodeDom.Compiler.GeneratorSupport ことを確認するコード生成のサポートの種類を示すオブジェクト。
戻り値
true 指定したコードの生成をサポートしている場合は、提供されてそれ以外の場合、 falseです。
例外
T:System.NotImplementedException
このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
CreateGenerator(String)
派生クラスでオーバーライドされると、出力用に指定されているファイル名を使用して、新しいコード ジェネレーターを作成します。
CreateObjRef(Type)
リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (Inherited from MarshalByRefObject)
Dispose()
Component によって使用されているすべてのリソースを解放します。 (Inherited from Component)
Dispose(Boolean)
Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。 (Inherited from Component)
Equals(Object)
指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。 (Inherited from Object)
GetHashCode()
既定のハッシュ関数として機能します。 (Inherited from Object)
GetLifetimeService()
対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (Inherited from MarshalByRefObject)
GetService(Type)
Component またはその Container で提供されるサービスを表すオブジェクトを返します。 (Inherited from Component)
GetType()
現在のインスタンスの Type を取得します。 (Inherited from Object)
InitializeLifetimeService()
このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。 (Inherited from MarshalByRefObject)
MemberwiseClone()
現在の Object の簡易コピーを作成します。 (Inherited from Object)
MemberwiseClone(Boolean)
現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。 (Inherited from MarshalByRefObject)
ToString()
Component の名前 (存在する場合) を格納する String を返します。 このメソッドはオーバーライドできません。 (Inherited from Component)

▲ページ先頭へ

イベント

Disposed
Dispose() メソッドの呼び出しによってコンポーネントが破棄されると発生します。 (Inherited from Component)

▲ページ先頭へ

セキュリティ

LinkDemand
直前の呼び出し元に対する完全な信頼。 このクラスは、部分的に信頼されたコードでは使用できません。
InheritanceDemand
継承クラスの完全な信頼。 部分的に信頼されたコードでは、このクラスを継承できません。

▲ページ先頭へ

次のサンプル プログラムは生成し、"Hello World"を使用して出力するプログラムの CodeDOM モデルに基づくソース コードをコンパイル、Consoleクラス。 Windows フォームのユーザー インターフェイスが提供されます。 ユーザーがプログラミング言語がいくつかの選択肢からターゲットを選択できます。 c#、Visual Basic、および JScript です。


using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using Microsoft.CSharp;
using Microsoft.VisualBasic;
using Microsoft.JScript;

// This example demonstrates building a Hello World program graph 
// using System.CodeDom elements. It calls code generator and
// code compiler methods to build the program using CSharp, VB, or
// JScript.  A Windows Forms interface is included. Note: Code
// must be compiled and linked with the Microsoft.JScript assembly. 
namespace CodeDOMExample
{
    class CodeDomExample
    {
        // Build a Hello World program graph using 
        // System.CodeDom types.
        public static CodeCompileUnit BuildHelloWorldGraph()
        {
            // Create a new CodeCompileUnit to contain 
            // the program graph.
            CodeCompileUnit compileUnit = new CodeCompileUnit();

            // Declare a new namespace called Samples.
            CodeNamespace samples = new CodeNamespace("Samples");
            // Add the new namespace to the compile unit.
            compileUnit.Namespaces.Add(samples);

            // Add the new namespace import for the System namespace.
            samples.Imports.Add(new CodeNamespaceImport("System"));

            // Declare a new type called Class1.
            CodeTypeDeclaration class1 = new CodeTypeDeclaration("Class1");
            // Add the new type to the namespace type collection.
            samples.Types.Add(class1);

            // Declare a new code entry point method.
            CodeEntryPointMethod start = new CodeEntryPointMethod();

            // Create a type reference for the System.Console class.
            CodeTypeReferenceExpression csSystemConsoleType = new CodeTypeReferenceExpression("System.Console");

            // Build a Console.WriteLine statement.
            CodeMethodInvokeExpression cs1 = new CodeMethodInvokeExpression(
                csSystemConsoleType, "WriteLine",
                new CodePrimitiveExpression("Hello World!"));

            // Add the WriteLine call to the statement collection.
            start.Statements.Add(cs1);

            // Build another Console.WriteLine statement.
            CodeMethodInvokeExpression cs2 = new CodeMethodInvokeExpression(
                csSystemConsoleType, "WriteLine",
                new CodePrimitiveExpression("Press the Enter key to continue."));

            // Add the WriteLine call to the statement collection.
            start.Statements.Add(cs2);

            // Build a call to System.Console.ReadLine.
            CodeMethodInvokeExpression csReadLine = new CodeMethodInvokeExpression(
                csSystemConsoleType, "ReadLine");

            // Add the ReadLine statement.
            start.Statements.Add(csReadLine);

            // Add the code entry point method to
            // the Members collection of the type.
            class1.Members.Add(start);

            return compileUnit;
        }

        public static void GenerateCode(CodeDomProvider provider,
            CodeCompileUnit compileunit)
        {
            // Build the source file name with the appropriate
            // language extension.
            String sourceFile;
            if (provider.FileExtension[0] == '.')
            {
                sourceFile = "TestGraph" + provider.FileExtension;
            }
            else
            {
                sourceFile = "TestGraph." + provider.FileExtension;
            }

            // Create an IndentedTextWriter, constructed with
            // a StreamWriter to the source file.
            IndentedTextWriter tw = new IndentedTextWriter(new StreamWriter(sourceFile, false), "    ");
            // Generate source code using the code generator.
            provider.GenerateCodeFromCompileUnit(compileunit, tw, new CodeGeneratorOptions());
            // Close the output file.
            tw.Close();
        }

        public static CompilerResults CompileCode(CodeDomProvider provider,
                                                  String sourceFile,
                                                  String exeFile)
        {
            // Configure a CompilerParameters that links System.dll
            // and produces the specified executable file.
            String[] referenceAssemblies = { "System.dll" };
            CompilerParameters cp = new CompilerParameters(referenceAssemblies,
                                                           exeFile, false);
            // Generate an executable rather than a DLL file.
            cp.GenerateExecutable = true;

            // Invoke compilation.
            CompilerResults cr = provider.CompileAssemblyFromFile(cp, sourceFile);
            // Return the results of compilation.
            return cr;
        }
    }

    public class CodeDomExampleForm : System.Windows.Forms.Form
    {
        private System.Windows.Forms.Button run_button = new System.Windows.Forms.Button();
        private System.Windows.Forms.Button compile_button = new System.Windows.Forms.Button();
        private System.Windows.Forms.Button generate_button = new System.Windows.Forms.Button();
        private System.Windows.Forms.TextBox textBox1 = new System.Windows.Forms.TextBox();
        private System.Windows.Forms.ComboBox comboBox1 = new System.Windows.Forms.ComboBox();
        private System.Windows.Forms.Label label1 = new System.Windows.Forms.Label();

        private void generate_button_Click(object sender, System.EventArgs e)
        {
            CodeDomProvider provider = GetCurrentProvider();
            CodeDomExample.GenerateCode(provider, CodeDomExample.BuildHelloWorldGraph());

            // Build the source file name with the appropriate
            // language extension.
            String sourceFile;
            if (provider.FileExtension[0] == '.')
            {
                sourceFile = "TestGraph" + provider.FileExtension;
            }
            else
            {
                sourceFile = "TestGraph." + provider.FileExtension;
            }

            // Read in the generated source file and
            // display the source text.
            StreamReader sr = new StreamReader(sourceFile);
            textBox1.Text = sr.ReadToEnd();
            sr.Close();
        }

        private void compile_button_Click(object sender, System.EventArgs e)
        {
            CodeDomProvider provider = GetCurrentProvider();

            // Build the source file name with the appropriate
            // language extension.
            String sourceFile;
            if (provider.FileExtension[0] == '.')
            {
                sourceFile = "TestGraph" + provider.FileExtension;
            }
            else
            {
                sourceFile = "TestGraph." + provider.FileExtension;
            }

            // Compile the source file into an executable output file.
            CompilerResults cr = CodeDomExample.CompileCode(provider,
                                                            sourceFile,
                                                            "TestGraph.exe");

            if (cr.Errors.Count > 0)
            {
                // Display compilation errors.
                textBox1.Text = "Errors encountered while building " +
                                sourceFile + " into " + cr.PathToAssembly + ": ¥r¥n¥n";
                foreach (CompilerError ce in cr.Errors)
                    textBox1.AppendText(ce.ToString() + "¥r¥n");
                run_button.Enabled = false;
            }
            else
            {
                textBox1.Text = "Source " + sourceFile + " built into " +
                                cr.PathToAssembly + " with no errors.";
                run_button.Enabled = true;
            }
        }

        private void run_button_Click(object sender,
            System.EventArgs e)
        {
            Process.Start("TestGraph.exe");
        }

        private CodeDomProvider GetCurrentProvider()
        {
            CodeDomProvider provider;
            switch ((string)this.comboBox1.SelectedItem)
            {
                case "CSharp":
                    provider = CodeDomProvider.CreateProvider("CSharp");
                    break;
                case "Visual Basic":
                    provider = CodeDomProvider.CreateProvider("VisualBasic");
                    break;
                case "JScript":
                    provider = CodeDomProvider.CreateProvider("JScript");
                    break;
                default:
                    provider = CodeDomProvider.CreateProvider("CSharp");
                    break;
            }
            return provider;
        }

        public CodeDomExampleForm()
        {
            this.SuspendLayout();
            // Set properties for label1
            this.label1.Location = new System.Drawing.Point(395, 20);
            this.label1.Size = new Size(180, 22);
            this.label1.Text = "Select a programming language:";
            // Set properties for comboBox1
            this.comboBox1.Location = new System.Drawing.Point(560, 16);
            this.comboBox1.Size = new Size(190, 23);
            this.comboBox1.Name = "comboBox1";
            this.comboBox1.Items.AddRange(new string[] { "CSharp", "Visual Basic", "JScript" });
            this.comboBox1.Anchor = System.Windows.Forms.AnchorStyles.Left
                                    | System.Windows.Forms.AnchorStyles.Right
                                    | System.Windows.Forms.AnchorStyles.Top;
            this.comboBox1.SelectedIndex = 0;
            // Set properties for generate_button. 
            this.generate_button.Location = new System.Drawing.Point(8, 16);
            this.generate_button.Name = "generate_button";
            this.generate_button.Size = new System.Drawing.Size(120, 23);
            this.generate_button.Text = "Generate Code";
            this.generate_button.Click += new System.EventHandler(this.generate_button_Click);
            // Set properties for compile_button.
            this.compile_button.Location = new System.Drawing.Point(136, 16);
            this.compile_button.Name = "compile_button";
            this.compile_button.Size = new System.Drawing.Size(120, 23);
            this.compile_button.Text = "Compile";
            this.compile_button.Click += new System.EventHandler(this.compile_button_Click);
            // Set properties for run_button.
            this.run_button.Enabled = false;
            this.run_button.Location = new System.Drawing.Point(264, 16);
            this.run_button.Name = "run_button";
            this.run_button.Size = new System.Drawing.Size(120, 23);
            this.run_button.Text = "Run";
            this.run_button.Click += new System.EventHandler(this.run_button_Click);
            // Set properties for textBox1.        
            this.textBox1.Anchor = (System.Windows.Forms.AnchorStyles.Top
                                     | System.Windows.Forms.AnchorStyles.Bottom
                                     | System.Windows.Forms.AnchorStyles.Left
                                     | System.Windows.Forms.AnchorStyles.Right);
            this.textBox1.Location = new System.Drawing.Point(8, 48);
            this.textBox1.Multiline = true;
            this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(744, 280);
            this.textBox1.Text = "";
            // Set properties for the CodeDomExampleForm.
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(768, 340);
            this.MinimumSize = new System.Drawing.Size(750, 340);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {this.textBox1, 
                this.run_button, this.compile_button, this.generate_button,
                this.comboBox1, this.label1 });
            this.Name = "CodeDomExampleForm";
            this.Text = "CodeDom Hello World Example";
            this.ResumeLayout(false);
        }

        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);
        }

        [STAThread]
        static void Main()
        {
            Application.Run(new CodeDomExampleForm());
        }
    }
}

▲ページ先頭へ

定義


[System.Runtime.InteropServices.ComVisible(true)]
public abstract class CodeDomProvider : System.ComponentModel.Component

▲ページ先頭へ

クラス


#region アセンブリ System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:¥Program Files (x86)¥Reference Assemblies¥Microsoft¥Framework¥.NETFramework¥v4.6.1¥System.dll
#endregion

using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Runtime.InteropServices;

namespace System.CodeDom.Compiler
{
	//
	// 概要:
	//     基本クラスを提供 System.CodeDom.Compiler.CodeDomProvider 実装します。 このクラスは抽象クラスです。
	[ComVisible( true )]
	[ToolboxItem( false )]
	public abstract class CodeDomProvider : Component
	{
		//
		// 概要:
		//     System.CodeDom.Compiler.CodeDomProvider クラスの新しいインスタンスを初期化します。
		protected CodeDomProvider();

		//
		// 概要:
		//     言語機能識別子を取得します。
		//
		// 戻り値:
		//     言語の特殊な機能を示す System.CodeDom.Compiler.LanguageOptions。
		public virtual LanguageOptions LanguageOptions
		{
			get;
		}
		//
		// 概要:
		//     現在の言語でソース コード ファイルを使用する既定のファイル名拡張子を取得します。
		//
		// 戻り値:
		//     現在の言語のソース ファイルの拡張子に対応するファイル名拡張子。 基本実装を常に System.String.Emptyします。
		public virtual string FileExtension
		{
			get;
		}

		//
		// 概要:
		//     取得、 System.CodeDom.Compiler.CodeDomProvider インスタンスの言語とプロバイダーのオプションを指定します。
		//
		// パラメーター:
		//   language:
		//     言語の名前。
		//
		//   providerOptions:
		//     構成ファイルからプロバイダー オプションのコレクション。
		//
		// 戻り値:
		//     指定された言語名とオプションの実装されている CodeDOM プロバイダー。
		[ComVisible( false )]
		public static CodeDomProvider CreateProvider( string language, IDictionary providerOptions );
		//
		// 概要:
		//     取得、 System.CodeDom.Compiler.CodeDomProvider 指定した言語のインスタンス。
		//
		// パラメーター:
		//   language:
		//     言語の名前。
		//
		// 戻り値:
		//     指定された言語名に実装されている CodeDOM プロバイダー。
		//
		// 例外:
		//   T:System.Configuration.ConfigurationErrorsException:
		//     language このコンピューターで構成されているプロバイダーはありません。
		//
		//   T:System.ArgumentNullException:
		//     language が null です。
		//
		//   T:System.Security.SecurityException:
		//     呼び出し元に、必要なアクセス許可がありません。
		[ComVisible( false )]
		public static CodeDomProvider CreateProvider( string language );
		//
		// 概要:
		//     このコンピューターにプロバイダーおよびコンパイラの構成設定、言語を返します。
		//
		// 戻り値:
		//     型の配列 System.CodeDom.Compiler.CompilerInfo 構成済みのすべての設定を表す System.CodeDom.Compiler.CodeDomProvider
		//     実装します。
		//
		// 例外:
		//   T:System.Security.SecurityException:
		//     呼び出し元に、必要なアクセス許可がありません。
		[ComVisible( false )]
		public static CompilerInfo[] GetAllCompilerInfo();
		//
		// 概要:
		//     指定した言語のプロバイダーおよびコンパイラの構成設定、言語を返します。
		//
		// パラメーター:
		//   language:
		//     言語の名前です。
		//
		// 戻り値:
		//     A System.CodeDom.Compiler.CompilerInfo オブジェクトで構成されている設定が設定された System.CodeDom.Compiler.CodeDomProvider
		//     実装します。
		//
		// 例外:
		//   T:System.Configuration.ConfigurationException:
		//     language このコンピューターで構成されているプロバイダーはありません。
		//
		//   T:System.Configuration.ConfigurationErrorsException:
		//     language が null です。
		//
		//   T:System.Security.SecurityException:
		//     呼び出し元に、必要なアクセス許可がありません。
		[ComVisible( false )]
		public static CompilerInfo GetCompilerInfo( string language );
		//
		// 概要:
		//     指定したファイル名拡張子に関連付けられている言語名で構成されている形式で返します、 System.CodeDom.Compiler.CodeDomProvider
		//     コンパイラ構成セクション。
		//
		// パラメーター:
		//   extension:
		//     ファイル名の拡張子。
		//
		// 戻り値:
		//     関連付けられているファイル名拡張子で構成されている言語の名前、 System.CodeDom.Compiler.CodeDomProvider コンパイラ構成設定。
		//
		// 例外:
		//   T:System.Configuration.ConfigurationException:
		//     extension このコンピューターで構成した言語プロバイダーはありません。
		//
		//   T:System.Configuration.ConfigurationErrorsException:
		//     extension が null です。
		//
		//   T:System.Security.SecurityException:
		//     呼び出し元に、必要なアクセス許可がありません。
		[ComVisible( false )]
		public static string GetLanguageFromExtension( string extension );
		//
		// 概要:
		//     ファイル名拡張子がある関連付けられているかどうかをテスト System.CodeDom.Compiler.CodeDomProvider コンピューター上で構成を実装します。
		//
		// パラメーター:
		//   extension:
		//     ファイル名の拡張子。
		//
		// 戻り値:
		//     true 場合、 System.CodeDom.Compiler.CodeDomProvider 実装は、指定したファイル名拡張子に対して構成されている以外の場合、
		//     falseです。
		//
		// 例外:
		//   T:System.ArgumentNullException:
		//     extension が null です。
		//
		//   T:System.Security.SecurityException:
		//     呼び出し元に、必要なアクセス許可がありません。
		[ComVisible( false )]
		public static bool IsDefinedExtension( string extension );
		//
		// 概要:
		//     言語があるかどうかをテスト、 System.CodeDom.Compiler.CodeDomProvider コンピューター上で構成を実装します。
		//
		// パラメーター:
		//   language:
		//     言語の名前。
		//
		// 戻り値:
		//     true 場合、 System.CodeDom.Compiler.CodeDomProvider 実装は、指定された言語用に構成されている以外の場合、 falseです。
		//
		// 例外:
		//   T:System.ArgumentNullException:
		//     language が null です。
		//
		//   T:System.Security.SecurityException:
		//     呼び出し元に、必要なアクセス許可がありません。
		[ComVisible( false )]
		public static bool IsDefinedLanguage( string language );
		//
		// 概要:
		//     に基づいてアセンブリをコンパイル、 System.CodeDom の指定した配列に格納されているツリー System.CodeDom.CodeCompileUnit
		//     オブジェクトを指定したコンパイラ設定を使用します。
		//
		// パラメーター:
		//   options:
		//     A System.CodeDom.Compiler.CompilerParameters 、コンパイル時の設定を示すオブジェクト。
		//
		//   compilationUnits:
		//     型の配列 System.CodeDom.CodeCompileUnit を示すコードをコンパイルします。
		//
		// 戻り値:
		//     A System.CodeDom.Compiler.CompilerResults コンパイルの結果を示すオブジェクト。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateCompiler メソッドが派生クラスでオーバーライドします。
		public virtual CompilerResults CompileAssemblyFromDom( CompilerParameters options, params CodeCompileUnit[] compilationUnits );
		//
		// 概要:
		//     指定したコンパイラ設定を使用して、指定したファイルに含まれるソース コードからアセンブリをコンパイルします。
		//
		// パラメーター:
		//   options:
		//     A System.CodeDom.Compiler.CompilerParameters 、コンパイル時の設定を示すオブジェクト。
		//
		//   fileNames:
		//     コンパイルするファイルの名前の配列。
		//
		// 戻り値:
		//     A System.CodeDom.Compiler.CompilerResults コンパイルの結果を示すオブジェクト。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateCompiler メソッドが派生クラスでオーバーライドします。
		public virtual CompilerResults CompileAssemblyFromFile( CompilerParameters options, params string[] fileNames );
		//
		// 概要:
		//     指定されたソース コードを含む、指定したコンパイラ設定を使用して文字列の配列からアセンブリをコンパイルします。
		//
		// パラメーター:
		//   options:
		//     A System.CodeDom.Compiler.CompilerParameters このコンパイルのコンパイラ設定を示すオブジェクト。
		//
		//   sources:
		//     コンパイルするソース コードの文字列の配列。
		//
		// 戻り値:
		//     A System.CodeDom.Compiler.CompilerResults コンパイルの結果を示すオブジェクト。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateCompiler メソッドが派生クラスでオーバーライドします。
		public virtual CompilerResults CompileAssemblyFromSource( CompilerParameters options, params string[] sources );
		//
		// 概要:
		//     派生クラスでオーバーライドされた場合は、新しいコード コンパイラを作成します。
		//
		// 戻り値:
		//     System.CodeDom.Compiler.ICodeCompiler のコンパイルに使用する System.CodeDom ベースのソース コードの表現です。
		[Obsolete( "Callers should not use the ICodeCompiler interface and should instead use the methods directly on the CodeDomProvider class. Those inheriting from CodeDomProvider must still implement this interface, and should exclude this warning or also obsolete this method." )]
		public abstract ICodeCompiler CreateCompiler();
		//
		// 概要:
		//     指定された値に対して、エスケープされた識別子を作成します。
		//
		// パラメーター:
		//   value:
		//     エスケープされた識別子を作成する対象の文字列です。
		//
		// 戻り値:
		//     値のエスケープされた識別子です。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらもSystem.CodeDom.Compiler.CodeDomProvider.CreateGeneratorメソッドが派生クラスでオーバーライドします。
		public virtual string CreateEscapedIdentifier( string value );
		//
		// 概要:
		//     派生クラスでオーバーライドされた場合は、出力の指定したファイル名を使用して、新しいコード ジェネレーターを作成します。
		//
		// パラメーター:
		//   fileName:
		//     出力先ファイル名。
		//
		// 戻り値:
		//     System.CodeDom.Compiler.ICodeGenerator 生成に使用できる System.CodeDom ベースのソース コードの表現です。
		public virtual ICodeGenerator CreateGenerator( string fileName );
		//
		// 概要:
		//     派生クラスでオーバーライドされた場合は、新しいコード ジェネレーターを作成します。
		//
		// 戻り値:
		//     System.CodeDom.Compiler.ICodeGenerator 生成に使用できる System.CodeDom ベースのソース コードの表現です。
		[Obsolete( "Callers should not use the ICodeGenerator interface and should instead use the methods directly on the CodeDomProvider class. Those inheriting from CodeDomProvider must still implement this interface, and should exclude this warning or also obsolete this method." )]
		public abstract ICodeGenerator CreateGenerator();
		//
		// 概要:
		//     派生クラスでオーバーライドされた場合は、指定して、新しいコード ジェネレーターを作成 System.IO.TextWriter 出力用です。
		//
		// パラメーター:
		//   output:
		//     A System.IO.TextWriter を使用するを出力します。
		//
		// 戻り値:
		//     System.CodeDom.Compiler.ICodeGenerator 生成に使用できる System.CodeDom ベースのソース コードの表現です。
		public virtual ICodeGenerator CreateGenerator( TextWriter output );
		//
		// 概要:
		//     派生クラスでオーバーライドされた場合は、新しいコード パーサーを作成します。
		//
		// 戻り値:
		//     System.CodeDom.Compiler.ICodeParser ソース コードの解析に使用できます。 基本実装を常に nullします。
		[Obsolete( "Callers should not use the ICodeParser interface and should instead use the methods directly on the CodeDomProvider class. Those inheriting from CodeDomProvider must still implement this interface, and should exclude this warning or also obsolete this method." )]
		public virtual ICodeParser CreateParser();
		//
		// 概要:
		//     指定した値の有効な識別子を作成します。
		//
		// パラメーター:
		//   value:
		//     有効な識別子を生成する対象の文字列です。
		//
		// 戻り値:
		//     指定された値の有効な識別子です。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual string CreateValidIdentifier( string value );
		//
		// 概要:
		//     指定したコード ドキュメント オブジェクト モデル (CodeDOM) コンパイル単位のコードを生成し、指定したオプションを使用して、指定したテキスト ライターにします。
		//
		// パラメーター:
		//   compileUnit:
		//     A System.CodeDom.CodeCompileUnit コードを生成するためです。
		//
		//   writer:
		//     System.IO.TextWriter 出力コードが送信されます。
		//
		//   options:
		//     A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual void GenerateCodeFromCompileUnit( CodeCompileUnit compileUnit, TextWriter writer, CodeGeneratorOptions options );
		//
		// 概要:
		//     指定のコード ドキュメント オブジェクト モデル (CodeDOM) 式のコードを生成し、指定したオプションを使用して、指定したテキスト ライターに送信します。
		//
		// パラメーター:
		//   expression:
		//     A System.CodeDom.CodeExpression コードを生成するための式を示すオブジェクト。
		//
		//   writer:
		//     System.IO.TextWriter 出力をコードを送信します。
		//
		//   options:
		//     A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual void GenerateCodeFromExpression( CodeExpression expression, TextWriter writer, CodeGeneratorOptions options );
		//
		// 概要:
		//     指定したコード ドキュメント オブジェクト モデル (CodeDOM) のメンバー宣言のコードを生成し、指定したオプションを使用して、指定したテキスト ライターに送信します。
		//
		// パラメーター:
		//   member:
		//     A System.CodeDom.CodeTypeMember コードを生成する対象のメンバーを示すオブジェクト。
		//
		//   writer:
		//     System.IO.TextWriter 出力をコードを送信します。
		//
		//   options:
		//     A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドは派生クラスでオーバーライドできません。
		public virtual void GenerateCodeFromMember( CodeTypeMember member, TextWriter writer, CodeGeneratorOptions options );
		//
		// 概要:
		//     コード ドキュメント オブジェクト モデル (CodeDOM) の指定した名前空間のコードを生成し、指定したオプションを使用して、指定したテキスト ライターに送信します。
		//
		// パラメーター:
		//   codeNamespace:
		//     A System.CodeDom.CodeNamespace コードを生成する対象の名前空間を示すオブジェクト。
		//
		//   writer:
		//     System.IO.TextWriter 出力をコードを送信します。
		//
		//   options:
		//     A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual void GenerateCodeFromNamespace( CodeNamespace codeNamespace, TextWriter writer, CodeGeneratorOptions options );
		//
		// 概要:
		//     指定したコード ドキュメント オブジェクト モデル (CodeDOM) ステートメントのコードを生成し、指定したオプションを使用して、指定したテキスト ライターに送信します。
		//
		// パラメーター:
		//   statement:
		//     A System.CodeDom.CodeStatement コードを生成するための CodeDOM 要素を格納します。
		//
		//   writer:
		//     System.IO.TextWriter 出力をコードを送信します。
		//
		//   options:
		//     A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual void GenerateCodeFromStatement( CodeStatement statement, TextWriter writer, CodeGeneratorOptions options );
		//
		// 概要:
		//     指定したコード ドキュメント オブジェクト モデル (CodeDOM) の型宣言のコードを生成し、指定したオプションを使用して、指定したテキスト ライターに送信します。
		//
		// パラメーター:
		//   codeType:
		//     A System.CodeDom.CodeTypeDeclaration コードを生成する対象の種類を示すオブジェクト。
		//
		//   writer:
		//     System.IO.TextWriter 出力をコードを送信します。
		//
		//   options:
		//     A System.CodeDom.Compiler.CodeGeneratorOptions を示すコードを生成するために使用するオプションです。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual void GenerateCodeFromType( CodeTypeDeclaration codeType, TextWriter writer, CodeGeneratorOptions options );
		//
		// 概要:
		//     取得、 System.ComponentModel.TypeConverter の指定されたデータ型。
		//
		// パラメーター:
		//   type:
		//     型コンバーターを取得する対象のオブジェクトの型。
		//
		// 戻り値:
		//     A System.ComponentModel.TypeConverter 指定した型または null 場合、 System.ComponentModel.TypeConverter
		//     、指定した型が見つかりません。
		public virtual TypeConverter GetConverter( Type type );
		//
		// 概要:
		//     指定された型を取得 System.CodeDom.CodeTypeReferenceします。
		//
		// パラメーター:
		//   type:
		//     A System.CodeDom.CodeTypeReference を返す型を示します。
		//
		// 戻り値:
		//     指定した型のテキスト表現は、このコード ジェネレーターによってコードを生成する言語の書式設定されます。 Visual basic などを渡して、 System.CodeDom.CodeTypeReference
		//     の System.Int32 型は"Integer"を返します。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual string GetTypeOutput( CodeTypeReference type );
		//
		// 概要:
		//     指定した値が現在の言語で有効な識別子であるかどうかを示す値を返します。
		//
		// パラメーター:
		//   value:
		//     有効な識別子を確認する値。
		//
		// 戻り値:
		//     true 場合、 value パラメーターが有効な識別子。 そうしないと、 falseです。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual bool IsValidIdentifier( string value );
		//
		// 概要:
		//     指定したテキストのストリームから読み取ったコードをコンパイル、 System.CodeDom.CodeCompileUnitです。
		//
		// パラメーター:
		//   codeStream:
		//     A System.IO.TextReader を解析するコードを読み取るために使用します。
		//
		// 戻り値:
		//     A System.CodeDom.CodeCompileUnit 、解析されたコードの表現を格納します。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual CodeCompileUnit Parse( TextReader codeStream );
		//
		// 概要:
		//     返します。 指定したコードの生成をサポートしているかどうかを示す値を指定します。
		//
		// パラメーター:
		//   generatorSupport:
		//     A System.CodeDom.Compiler.GeneratorSupport ことを確認するコード生成のサポートの種類を示すオブジェクト。
		//
		// 戻り値:
		//     true 指定したコードの生成をサポートしている場合は、提供されてそれ以外の場合、 falseです。
		//
		// 例外:
		//   T:System.NotImplementedException:
		//     このメソッドはどちらも、 System.CodeDom.Compiler.CodeDomProvider.CreateGenerator メソッドが派生クラスでオーバーライドします。
		public virtual bool Supports( GeneratorSupport generatorSupport );
	}
}

▲ページ先頭へ