TypeCodeDomSerializer.Serialize Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |