Я не могу сериализовать свой класс с помощью 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;
}
Я не могу сериализовать какой-либо объект типа MyClass1, так как элементы представляют собой список интерфейсов, который может быть Mylass1 или MyClass2. Я получаю некоторую кодировку, не установленную ошибку.
Может ли кто-нибудь сообщить мне, как я могу решить эту проблему. Спасибо.