是否有辦法處理事件或回調到Protobuf剛剛反序列化的對象中,而無需明確地從反序列化對象調用方法?Protobuf .NET Post反序列化處理程序
例如,說我有下面的類:
[ProtoContract]
public class Customer
{
[ProtoMember(1)]
public string FirstName { get; set; }
[ProtoMember(2)]
public string MiddleName { get; set; }
[ProtoMember(3)]
public string LastName { get; set; }
[ProtoMember(4)]
public Dictionary<int, string> Addresses { get; set; }
public Customer()
{
//Subscibe to a Protobuf deserialization complete event?
}
public void ValidateAddresses()
{
//Some routine to validate addresses
}
}
會不會有一種方法叫成「ValidateAddresses」,而無需從代碼塊中的反序列化對象它被反序列化顯式調用?在構造函數中調用它是毫無價值的,因爲Protobuf尚未應用序列化的值,因此有辦法知道它何時完成應用值是很好的。我希望有一種方法可以實現這一點,以消除在使用對象的任何地方重構後反序列化調用的需要。
我有一些想法,但我想我會在找出證明他們的路徑之前發佈問題,以防萬一有更好的,我還沒有看到(這很可能)。提前致謝。
我喜歡簡單的解決方案,這是比我走的古怪的路線更直接(靜態反序列化類反映反序列化對象和調用方法等,不漂亮)。謝謝Marc,這正是我所需要的。 – Ryan 2013-02-13 18:05:25