次の方法で共有


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);
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 示しています。

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

-

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

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

適用対象

こちらもご覧ください