TypeCodeDomSerializer.Serialize メソッド

定義

ルートを定義する新しい型宣言を作成して、オブジェクト ルートをシリアル化します。

public:
 virtual System::CodeDom::CodeTypeDeclaration ^ Serialize(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ root, System::Collections::ICollection ^ members);
public virtual System.CodeDom.CodeTypeDeclaration Serialize(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object root, System.Collections.ICollection members);
abstract member Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
override this.Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
Public Overridable Function Serialize (manager As IDesignerSerializationManager, root As Object, members As ICollection) As CodeTypeDeclaration

パラメーター

manager
IDesignerSerializationManager

シリアル化に使用するシリアル化マネージャー。

root
Object

シリアル化するオブジェクト。

members
ICollection

メンバーの省略可能なコレクション。 nullまたは空にすることができます。

返品

ルート オブジェクトを定義する CodeTypeDeclaration

例外

manager または rootnull

注釈

Serialize メソッドは、指定されたルート オブジェクトとメンバーの省略可能なコレクションをシリアル化して、新しい型定義を作成します。 members コレクションに値が含まれている場合、これらの値はシリアル化されます。 値自体は、メンバー変数またはローカル変数としてシリアル化できます。 この決定は、 GenerateMemberと呼ばれるオブジェクトのエクステンダー プロパティを検索することによって行われます。 trueすると、メンバーが生成されます。 それ以外の場合は、ローカル変数が生成されます。 便宜上、 members コレクションにはルート オブジェクトを含めることができます。 この場合、ルート オブジェクトもメンバー変数またはローカル変数として追加されません。

返される型の名前は、ルート オブジェクトの名前 (名前付きオブジェクトの場合) から取得されます。 そうでない場合は、ルート クラスの単純型名から名前が作成されます。

次の表に、 Serialize メソッドの既定の実装で実行されるタスクを示します。

Task 形容
コンテキスト シード処理 シリアル化コンテキストは、 RootContextCodeTypeDeclaration
メンバーのシリアル化 Serialize 、すべてのメンバーと呼び出し SerializeToExpressionについて説明します。 シリアル化は SerializeToExpressionで日和見的に行われるため、シリアル化が 2 回行われなくなります。
ルートシリアル化 次に、ルート オブジェクトがシリアル化され、そのステートメントがステートメント コレクションに追加されます。
ステートメントの統合 すべてのオブジェクトがシリアル化されると、 Serialize メソッドはステートメントを並べ替え、 GetInitializeMethodから返されるメソッドに追加します。 最後に、 GetInitializeMethodから返されるすべてのメソッドを呼び出すコンストラクターが作成されます。

-

次の表に、 Serialize メソッドがコンテキスト スタックに配置するオブジェクトを示します。

Instance 形容
TypeCodeDomSerializer このシリアライザー。 クラスを派生すると、このクラスにパブリック プロパティを追加すると便利な場合があります。
CodeTypeDeclaration 作成される型。 ほとんどのオブジェクトは、これに直接アクセスする必要はありません。

適用対象

こちらもご覧ください