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 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:
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.
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
.
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.