2009-05-15 22 views
6

Bir olayı açığa çıkaran A sınıfına sahibim. olaya abone olan B sınıfı bir nesne. Her iki örnek de aslında birbirinden düzenli bir referansa sahiptir. A'yı serileştirmek istiyorum ve her iki objenin de diğer ucunda yeniden yapılandırılmak üzere tel üzerinden aktarılmasını istiyorum. Bu, olay aboneliğinin korunmaması dışında iyi çalışır.Seri hale getirme olayları

Nesnelerim seri hale getirildiğinde 'bildirilecek' olmak için kendi serileştirme yapıcımı uygulamak zorunda olduğumu düşünüyorum, böylece etkinliğe yeniden abone olabilir. Bununla birlikte, görünüşe göre ISerializable'ı uygulayarak kendimi bütünüyle sializasyon uygulamak zorunda olduğum anlamına geliyor. Şimdi BinaryFormatter ve [Serializable] özelliklerine güveniyorum ve aslında bunu çok seviyorum.

Serileştirme konusunda bilgilendirilmenin bir yolu var mı? Hala seri hale getirilmiş serileştirme sistemini kullanabilmek için & serisi benim için karmaşık nesne grafiğimi seri hale getiriyor mu?

sayesinde Lucas

cevap

8

standart (XML) seri hale mekanizması (de) seri hale getirme sırasında geri aramaları olarak kullanılmak üzere yöntemler işaretlemek için özel niteliklerini kullanır. OnDeserializedAttribute, aradığınız şeydir. Benzer çözüm, IDeserializationCallback arayüzünü uygulamaktır.

+0

Harika cevap. Abonelik kodu iyi çalışmış olsa bile, olayımın neden her zaman boş olduğunu anlamaya çalışırken 2 saat boyunca koduma baktım. –

İlgili konular