TypeCodeDomSerializer.Serialize メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ルートを定義する新しい型宣言を作成することによって、オブジェクト ルートをシリアル化します。
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
または root
が null
です。
注釈
メソッドは Serialize 、指定されたルート オブジェクトとメンバーの省略可能なコレクションをシリアル化して、新しい型定義を作成します。 コレクションに値が members
含まれている場合、これらの値はシリアル化されます。 値自体は、メンバー変数またはローカル変数としてシリアル化できます。 この決定は、 というオブジェクト GenerateMember
でエクステンダー プロパティを検索することによって行われます。 の場合 true
は、メンバーが生成されます。 それ以外の場合は、ローカル変数が生成されます。 便宜上、コレクションには members
ルート オブジェクトを含めることができます。 この場合、ルート オブジェクトはメンバー変数またはローカル変数としても追加されません。
返される型の名前は、ルート オブジェクトの名前 (名前付きオブジェクトの場合) から取得されます。 そうでない場合は、ルート クラスの単純型名から名前が作成されます。
次の表は、 メソッドの既定の実装によって実行されるタスクを Serialize 示しています。
タスク | 説明 |
---|---|
コンテキスト シード処理 | シリアル化コンテキストは、 と を含むデータで初期化されます。RootContextCodeTypeDeclaration |
メンバーのシリアル化 | 次に、 Serialize すべてのメンバーをウォークし、 を呼び出します SerializeToExpression。 シリアル化は で SerializeToExpression日和見的に行われるため、シリアル化が 2 回行われないようにします。 |
ルート シリアル化 | 次に、ルート オブジェクトがシリアル化され、そのステートメントがステートメント コレクションに追加されます。 |
ステートメントの統合 | すべてのオブジェクトがシリアル化された後、メソッドは Serialize ステートメントを並べ替え、 から GetInitializeMethod返されるメソッドに追加します。 最後に、 から GetInitializeMethod返されるすべてのメソッドを呼び出すコンストラクターが作成されます。 |
-
次の表は、メソッドが Serialize コンテキスト スタックに配置するオブジェクトを示しています。
インスタンス | 説明 |
---|---|
TypeCodeDomSerializer | このシリアライザー。 派生クラスは、このクラスにパブリック プロパティを追加すると便利な場合があります。 |
CodeTypeDeclaration | 作成される型。 ほとんどのオブジェクトは、これに直接アクセスする必要はありません。 |
適用対象
こちらもご覧ください
.NET