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

CodeExpression Yorum için.

Döndürülenler

yorumlanmasından expressionkaynaklanan bir nesne.

Açıklamalar

Bu, türetilmiş sınıfların bir ifadeyi seri durumdan çıkarmak 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. Bu ifadenin bir sonucu olarak bir nesne oluşturulması gerekiyorsa, parametresi tarafından name belirtilen ad verilir. Nesnenin adlandırılması gerekmiyorsa ad olabilir null . Aşağıdaki tabloda belirli ifadelerin nasıl işleneceğini açıklanmaktadır.

Expression Behavior
CodeThisReferenceExpression Bu ifade veya thisöğesini temsil ederMe. Yöntemi, DeserializeExpression bu ifadeyle ilişkili nesneyi bulmak için bağlam yığınında bir RootContextöğesini arar. Bu nesne, grafiğin 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 bulunamıyorsa 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 bulunamıyorsa bir hata bildirilir.

DeserializeExpression bir nesneye tamamen çözümlenene kadar veya ifadeyi artık basitleştirene 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.