长话短说,我目前正在使用 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 实现吗?如果有人可以推动我朝着正确的方向前进,那将不胜感激。