1

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

4

0 回答 0