CodeDomSerializerBase.SerializeToExpression Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Verilen nesneyi bir ifadede 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'e eşittir.
Açıklamalar
value parametresi olabilir nullve 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:
Nesne için bir ifadenin GetExpression önceden oluşturulup oluşturulmadığını görmek için önce yöntemini çağırır. Öyleyse, var olan ifadeyi döndürür.
Ardından nesnenin seri hale getiricisini bulur ve seri hale getirmesini ister.
Nesnenin seri hale getiricisinin dönüş değeri bir CodeExpressionise, ifade döndürülür.
Seri hale getiricinin bir ifade eklenip eklenmediğini görmek için GetExpression son bir çağrı yapar.
Son olarak döndürür
null.
İfade 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 bulunmadığı 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 bağlam içinde bir CodeStatementCollection arar ve deyimleri buraya ekler. Deyimleri eklemek için yer bulunamazsa bir hata oluşturulur.
Uyarı
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.