protobuf-netを使用してクラスをシリアル化できません。問題は、protobuf-netがインターフェイスをシリアル化できないことのようです。
interface MyInterface
{
string name;
}
[ProtoContract]
[ProtoInclude(1, typeof(MyClass1))]
[ProtoInclude(2, typeof(MyClass2))]
public abstract class ParentClass
{
[ProtoMember(1)]
List<MyInterface> elements;
}
[ProtoContract]
public class MyClass1 : ParentClass, MyInterface
{
[ProtoMember(1)]
int x;
}
[ProtoContract]
public class MyClass2 : MyInterface
{
[ProtoMember(1)]
string y;
}
要素はインターフェイスのリストであり、Mylass1またはMyClass2である可能性があるため、タイプMyClass1のオブジェクトをシリアル化できません。エンコードが設定されていないというエラーが発生します。
誰かが私にこれを解決する方法を教えてもらえますか?ありがとう。