Bagikan melalui


TypeCodeDomSerializer.Serialize Metode

Definisi

Menserialisasikan akar objek dengan membuat deklarasi jenis baru yang menentukan 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

Parameter

manager
IDesignerSerializationManager

Manajer serialisasi yang digunakan untuk serialisasi.

root
Object

Objek yang akan diserialisasikan.

members
ICollection

Koleksi anggota opsional. null Bisa atau kosong.

Mengembalikan

CodeTypeDeclaration yang mendefinisikan objek akar.

Pengecualian

manager atau root adalah null.

Keterangan

Metode ini Serialize menserialisasikan objek akar yang diberikan dan koleksi anggota opsional untuk membuat definisi jenis baru. members Jika koleksi berisi nilai, nilai-nilai ini diserialisasikan. Nilai itu sendiri dapat diserialisasikan sebagai variabel anggota atau variabel lokal. Penentuan ini dilakukan dengan mencari properti extender pada objek yang disebut GenerateMember. Jika true, anggota dihasilkan. Jika tidak, variabel lokal dihasilkan. Untuk kenyamanan, members koleksi dapat berisi objek akar. Dalam hal ini, objek akar tidak juga ditambahkan sebagai anggota atau variabel lokal.

Nama jenis yang dikembalikan diambil dari nama objek akar, jika itu adalah objek bernama. Jika tidak, nama dibuat dari nama jenis sederhana kelas akar.

Tabel berikut ini memperlihatkan tugas yang dilakukan oleh implementasi Serialize default metode .

Tugas Deskripsi
Seeding Konteks Konteks serialisasi diinisialisasi dengan data termasuk RootContext dan CodeTypeDeclaration
Serialisasi Anggota Selanjutnya, Serialize berjalan semua anggota dan panggilan SerializeToExpression. Karena serialisasi dilakukan secara oportunistik di SerializeToExpression, ini memastikan bahwa serialisasi tidak dilakukan dua kali.
Serialisasi Akar Selanjutnya, objek akar diserialisasikan dan pernyataannya ditambahkan ke koleksi pernyataan.
Integrasi Pernyataan Setelah semua objek diserialisasikan, Serialize metode mengurutkan pernyataan dan menambahkannya ke metode yang dikembalikan dari GetInitializeMethod. Akhirnya, konstruktor dibuat yang memanggil semua metode yang dikembalikan dari GetInitializeMethod.

-

Tabel berikut ini memperlihatkan objek tempat Serialize metode pada tumpukan konteks.

Instans Deskripsi
TypeCodeDomSerializer Serializer ini. Kelas turunan mungkin berguna untuk menambahkan properti publik ke kelas ini.
CodeTypeDeclaration Jenis yang sedang dibuat. Sebagian besar objek tidak memerlukan akses langsung ke ini.

Berlaku untuk

Lihat juga