共用方式為


TypeCodeDomSerializer.Serialize 方法

定義

藉由建立定義根 (Root) 的新型別宣告序列化物件根。

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,定義根物件。

例外狀況

managerrootnull

備註

方法會將 Serialize 指定的根對象和成員的選擇性集合串行化,以建立新的類型定義。 members如果集合包含值,則會串行化這些值。 值本身可能會串行化為成員變數或局部變數。 藉由在名為 GenerateMember的物件上搜尋擴充項屬性,即可完成此判斷。 如果 true為 ,則會產生成員。 否則,會產生局部變數。 為了方便起見, members 集合可以包含根物件。 在此情況下,根物件也不會新增為成員或局部變數。

如果傳回的類型是具名物件,則會取自根對象的名稱。 如果沒有,則會從根類別的簡單類型名稱產生名稱。

下表顯示方法預設實作 Serialize 所執行的工作。

工作 描述
內容植入 串行化內容會以包含 RootContext 和的數據初始化 CodeTypeDeclaration
成員串行化 接下來, Serialize 逐步解說所有成員並呼叫 SerializeToExpression。 由於串行化是在 中以機 SerializeToExpression率方式完成,這可確保串行化不會執行兩次。
根串行化 接下來,根物件會串行化,且其語句會新增至語句集合。
語句整合 串行化所有對象之後,方法會 Serialize 排序 語句,並將其新增至從 GetInitializeMethod傳回的方法。 最後,建構函式會呼叫從 GetInitializeMethod傳回的所有方法。

-

下表顯示方法放置於內容堆疊上的物件 Serialize

執行個體 描述
TypeCodeDomSerializer 這個串行化程式。 衍生類別可能會發現將公用屬性新增至這個類別很有用。
CodeTypeDeclaration 正在建立的類型。 大部分的物件不需要直接存取此專案。

適用於

另請參閱