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);
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 メソッドの既定の実装で実行されるタスクを示します。
| Task | 形容 |
|---|---|
| コンテキスト シード処理 | シリアル化コンテキストは、 RootContext や CodeTypeDeclaration |
| メンバーのシリアル化 | 次 Serialize 、すべてのメンバーと呼び出し SerializeToExpressionについて説明します。 シリアル化は SerializeToExpressionで日和見的に行われるため、シリアル化が 2 回行われなくなります。 |
| ルートシリアル化 | 次に、ルート オブジェクトがシリアル化され、そのステートメントがステートメント コレクションに追加されます。 |
| ステートメントの統合 | すべてのオブジェクトがシリアル化されると、 Serialize メソッドはステートメントを並べ替え、 GetInitializeMethodから返されるメソッドに追加します。 最後に、 GetInitializeMethodから返されるすべてのメソッドを呼び出すコンストラクターが作成されます。 |
-
次の表に、 Serialize メソッドがコンテキスト スタックに配置するオブジェクトを示します。
| Instance | 形容 |
|---|---|
| TypeCodeDomSerializer | このシリアライザー。 クラスを派生すると、このクラスにパブリック プロパティを追加すると便利な場合があります。 |
| CodeTypeDeclaration | 作成される型。 ほとんどのオブジェクトは、これに直接アクセスする必要はありません。 |