Share via


CodeDomSerializerBase.DeserializeExpression Yöntem

Tanım

Verilen ifadeyi bellek içi bir nesneye seri durumdan çıkartır.

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

Parametreler

manager
IDesignerSerializationManager

Serileştirme IDesignerSerializationManager için kullanılacak.

name
String

İfadeden kaynaklanan nesnenin adı. Nesnenin adlandırılması gerekmiyorsa olabilir null .

expression
CodeExpression

Yorum CodeExpression için.

Döndürülenler

yorumlanmasından expressionkaynaklanan bir nesne.

Açıklamalar

Bu, türetilmiş sınıfların bir ifadenin seri durumdan çıkarılması için çağırabileceği yardımcı bir yöntemdir. parametresi tarafından belirtilen CodeDOM ifadesini yorumlayıp yürüterek deyimini seri durumdan expression çıkartır ve ardından sonuçları döndürür. Bir nesnenin bu ifadenin sonucu olarak oluşturulması gerekiyorsa, parametresi tarafından name belirtilen ad verilir. Ad, nesneyi adlandırmaya gerek yoksa olabilir null . Aşağıdaki tabloda belirli ifadelerin nasıl işlenme şekli açıklanmaktadır.

Expression Davranış
CodeThisReferenceExpression Bu ifade veya Meöğesini temsil ederthis. Yöntemi, DeserializeExpression bu ifadeyle ilişkili nesneyi bulmak için bağlam yığınında öğesini RootContextarar. Bu nesne grafın kök nesnesini ve onu temsil eden ifadeyi içerir. Nesne varsa ve ifade eşleşiyorsa, kök nesne döndürülür. Bir örnek bulunamazsa bir hata bildirilir.
CodeFieldReferenceExpression Alan başvurusunun hedefi kök nesne olarak değerlendirilirse, GetInstance ad temelinde nesne örneğini almak için yönetici parametresinin yöntemi kullanılır. Aksi takdirde, istenen alanı bulmak için hedef nesneye karşı standart yansıma kullanılır. Alan bulunamıyorsa bir hata bildirilir.
CodeVariableReferenceExpression GetInstance parametresinin manager yöntemi, verilen değişken adını temsil eden örneği bulmak için kullanılır. Bir örnek bulunamazsa bir hata bildirilir.

DeserializeExpression bir nesneye tamamen çözümlenene kadar veya ifadeyi artık basitleştiremeyecek kadar ifadeleri yorumlamaya devam eder. Bu durumda, DeserializeExpression en basitleştirilmiş ifadeyi içeren bir CodeExpression döndürür. Aşağıdaki ifadeler desteklenmez:

Şunlara uygulanır

Ayrıca bkz.