Bagikan melalui


CodeDomSerializerBase.DeserializeExpression Metode

Definisi

Mendeserialisasi ekspresi yang diberikan ke dalam objek dalam memori.

protected:
 System::Object ^ DeserializeExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::String ^ name, System::CodeDom::CodeExpression ^ expression);
protected object DeserializeExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, string name, System.CodeDom.CodeExpression expression);
protected object? DeserializeExpression (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, string? name, System.CodeDom.CodeExpression? expression);
member this.DeserializeExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * string * System.CodeDom.CodeExpression -> obj
Protected Function DeserializeExpression (manager As IDesignerSerializationManager, name As String, expression As CodeExpression) As Object

Parameter

manager
IDesignerSerializationManager

yang IDesignerSerializationManager digunakan untuk serialisasi.

name
String

Nama objek yang dihasilkan dari ekspresi. null Bisa jadi jika tidak perlu memberi nama objek.

expression
CodeExpression

untuk CodeExpression menafsirkan.

Mengembalikan

Objek yang dihasilkan dari interpretasi expression.

Keterangan

Ini adalah metode pembantu yang berasal dari kelas dapat memanggil untuk mendeserialisasi ekspresi. Ini mendeserialisasi pernyataan dengan menginterpretasikan dan menjalankan ekspresi CodeDOM yang ditentukan oleh expression parameter, lalu mengembalikan hasilnya. Jika objek perlu dibuat sebagai hasil dari ekspresi ini, objek akan diberi nama yang ditentukan oleh name parameter . Nama bisa jika null tidak perlu memberi nama objek. Tabel berikut ini menjelaskan bagaimana ekspresi tertentu ditangani.

Ekspresi Aktivitas
CodeThisReferenceExpression Ekspresi ini mewakili this atau Me. Untuk menemukan objek yang terkait dengan ekspresi ini, DeserializeExpression metode akan terlihat di tumpukan konteks untuk RootContext. Objek ini berisi objek akar grafik dan ekspresi yang mewakilinya. Jika objek ada dan ekspresi cocok, objek akar akan dikembalikan. Kesalahan dilaporkan jika instans tidak dapat ditemukan.
CodeFieldReferenceExpression Jika target referensi bidang mengevaluasi ke objek akar, GetInstance metode parameter manajer akan digunakan untuk mengambil instans objek berdasarkan nama. Jika tidak, refleksi standar digunakan terhadap objek target untuk menemukan bidang yang diminta. Kesalahan dilaporkan jika bidang tidak dapat ditemukan.
CodeVariableReferenceExpression Metode GetInstancemanager parameter digunakan untuk menemukan instans yang mewakili nama variabel yang diberikan. Kesalahan dilaporkan jika instans tidak dapat ditemukan.

DeserializeExpression terus menafsirkan ekspresi sampai benar-benar diselesaikan ke objek, atau sampai tidak dapat lagi menyederhanakan ekspresi. Dalam hal ini, DeserializeExpression akan mengembalikan yang CodeExpression berisi ekspresi yang paling disederhanakan. Ekspresi berikut tidak didukung:

Berlaku untuk

Lihat juga