CodeDomSerializerBase.SerializeToExpression 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 objek yang diberikan ke dalam ekspresi.
protected:
System::CodeDom::CodeExpression ^ SerializeToExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ value);
protected System.CodeDom.CodeExpression SerializeToExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object value);
protected System.CodeDom.CodeExpression? SerializeToExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object? value);
member this.SerializeToExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj -> System.CodeDom.CodeExpression
Protected Function SerializeToExpression (manager As IDesignerSerializationManager, value As Object) As CodeExpression
Parameter
- manager
- IDesignerSerializationManager
yang IDesignerSerializationManager digunakan untuk serialisasi.
- value
- Object
Objek yang akan diserialisasikan. Bisa jadi null
.
Mengembalikan
Objek CodeExpression jika value
dapat diserialisasikan; jika tidak, null
.
Pengecualian
manager
adalah null
.
Keterangan
Parameter value
dapat berupa null
, dalam hal ini ekspresi primitif akan dikembalikan.
Metode ini SerializeToExpression menggunakan aturan berikut untuk jenis serialisasi:
Ini pertama-tama GetExpression memanggil metode untuk melihat apakah ekspresi telah dibuat untuk objek. Jika demikian, ekspresi tersebut mengembalikan ekspresi yang ada.
Kemudian menemukan serializer objek, dan memintanya untuk menserialisasikan.
Jika nilai yang dikembalikan dari serializer objek adalah CodeExpression, ekspresi dikembalikan.
Ini membuat satu panggilan terakhir untuk GetExpression melihat apakah serializer menambahkan ekspresi.
Akhirnya, ia mengembalikan
null
.
Jika tidak ada ekspresi yang dapat dibuat dan tidak ada serializer yang cocok yang dapat ditemukan, kesalahan akan dilaporkan melalui manajer serialisasi. Tidak ada kesalahan yang akan dilaporkan jika serializer ditemukan tetapi gagal menghasilkan ekspresi. Dalam hal ini, diasumsikan bahwa serializer sudah melaporkan kesalahan atau tidak mencoba menserialisasikan objek.
Jika serializer mengembalikan pernyataan atau kumpulan pernyataan, pernyataan tersebut tidak akan dibuang. Metode ini SerializeToExpression pertama-tama akan mencari StatementContext pada tumpukan konteks dan menambahkan pernyataan ke properti objek StatementCollection konteks pernyataan. Jika tidak ada konteks pernyataan, SerializeToExpression metode akan melihat dalam konteks untuk CodeStatementCollection dan menambahkan pernyataan di sana. Jika tidak ada tempat yang dapat ditemukan untuk menambahkan pernyataan, kesalahan akan dihasilkan.
Catatan
Anda tidak boleh memanggil SerializeToExpression metode dalam Serialize saat menserialisasikan objek Anda sendiri. Sebagai gantinya, Anda harus memanggil GetExpression. Jika mengembalikan null
, buat ekspresi Anda sendiri dan panggil SetExpression. Kemudian lanjutkan dengan sisa serialisasi Anda.