CodeDomSerializerBase.SerializeToExpression Yöntem

Tanım

Verilen nesneyi bir ifade olarak serileştirir.

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

Parametreler

manager
IDesignerSerializationManager

Serileştirme IDesignerSerializationManager için kullanılacak.

value
Object

Serileştirecek nesne. olabilir null.

Döndürülenler

Seri CodeExpression hale getirilebiliyorsa value bir nesne; aksi takdirde , null.

Özel durumlar

manager, null değeridir.

Açıklamalar

value parametresi olabilirnull, bu durumda ilkel bir ifade döndürülür.

SerializeToExpression yöntemi türleri serileştirmek için aşağıdaki kuralları kullanır:

  1. Nesne için bir ifadenin GetExpression önceden oluşturulup oluşturulmadığını görmek için önce yöntemini çağırır. Bu durumda, var olan ifadeyi döndürür.

  2. Ardından nesnenin seri hale getiricisini bulur ve seri hale getirmesini ister.

  3. Nesnenin seri hale getiricisinin dönüş değeri bir CodeExpressionise, ifade döndürülür.

  4. Seri hale getiricinin bir ifade eklenip eklenmediğini görmek için GetExpression son bir çağrı yapar.

  5. Son olarak döndürür null.

Hiçbir ifade oluşturulamazsa ve uygun seri hale getirici bulunamazsa, serileştirme yöneticisi aracılığıyla bir hata bildirilir. Seri hale getirici bulunduğunda ancak bir ifade üretemediğinde hata bildirilmeyecektir. Bu durumda, seri hale getiricinin hatayı zaten bildirdiği veya nesneyi seri hale getirme girişiminde olmadığı varsayılır.

Seri hale getirici bir deyim veya deyim koleksiyonu döndürdüyse, bu deyimler atılmaz. SerializeToExpression yöntemi önce bağlam yığınında bir StatementContext arar ve deyim bağlam nesnesinin StatementCollection özelliğine deyimler ekler. Deyim bağlamı yoksa, SerializeToExpression yöntemi için CodeStatementCollection bağlamda arar ve deyimleri buraya ekler. Deyimleri eklemek için yer bulunamazsa bir hata oluşturulur.

Not

Kendi nesnenizi seri hale getirdiğinizde içinde Serialize yöntemini çağırmamalısınızSerializeToExpression. Bunun yerine çağrısı GetExpressionyapmalısınız. döndürürse null, kendi ifadenizi oluşturun ve çağrısında bulunur SetExpression. Ardından serileştirmenizin geri kalanıyla devam edin.

Şunlara uygulanır

Ayrıca bkz.