是否有办法处理事件或回调到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