簡単に言うと、私は現在、WPF と C# を使用して RPG を作成しています。私は最近、BinaryFormatter クラスが Protobuf としてのパフォーマンスを提供しないため、Protobuf-Net を実装する (または少なくともしようとする) ことにしました。
基本的に、ドキュメントが大幅に不足しているため、Google が示してくれた断片をまとめてみました。私の現在の問題は、ジェネリック関数を使用してシリアル化する継承されたクラスを取得できないことです。私の作業の大部分は 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 でも可能ですか? 誰かが私に正しい方向へのプッシュを与えることができれば、それは大歓迎です。