总而言之,我目前正在使用WPF和C#编写RPG。我最近决定实现(或尝试至少)Protobuf-Net,因为BinaryFormatter类没有像Protobuf那样提供性能。
基本上,由于严重缺乏文档,我一直试图把点点滴滴放在一起谷歌给我看。我目前的问题是我无法使用泛型函数获取任何继承的类进行序列化。我需要这个,因为我的大部分工作都是API,所以创建的所有新类型都可以序列化。
我需要的一个例子,
public sealed class SomeClass
{
private RuntimeTypeModel protobuf = RuntimeTypeModel.Create();
public T DeepCopy<T>(T template) where T : IsSomeBaseClass
{
Type templateType = template.GetType();
this.protobuf.Add(templateType, true);
// Get inherited classes.
//
//
return (T)this.protobuf.DeepClone(template);
}
}
Protobuf-Net甚至可以实现这一点吗?如果有人能给我一个正确的方向,那将非常感激。