Bagikan melalui


CodeDomSerializerBase.SerializeToExpression Metode

Definisi

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

manageradalah null.

Keterangan

Parameter value dapat berupa null, dalam hal ini ekspresi primitif akan dikembalikan.

Metode ini SerializeToExpression menggunakan aturan berikut untuk jenis serialisasi:

  1. Ini pertama-tama GetExpression memanggil metode untuk melihat apakah ekspresi telah dibuat untuk objek. Jika demikian, ekspresi tersebut mengembalikan ekspresi yang ada.

  2. Kemudian menemukan serializer objek, dan memintanya untuk menserialisasikan.

  3. Jika nilai yang dikembalikan dari serializer objek adalah CodeExpression, ekspresi dikembalikan.

  4. Ini membuat satu panggilan terakhir untuk GetExpression melihat apakah serializer menambahkan ekspresi.

  5. 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.

Berlaku untuk

Lihat juga