У меня есть два класса, которые я хотел бы преобразовать в сообщения protobuf:
[ProtoContract]
class ClassA {
[ProtoMember(1)]
public int b;
[ProtoMember(2)]
public int c;
}
[ProtoContract]
class ClassD : ClassA
{
[ProtoMember(3)]
public int e;
[ProtoMember(4)]
public int f;
}
Я пытаюсь добиться сериализации ClassA, содержащей b и c.И при сериализации ClassD я получу b, c, e и f.
Возможно ли это, или какой подход я должен использовать?Я пытаюсь избежать вложенных сообщений.
Используя мой подход, я получаю проблему при сериализации объекта ClassD.
ClassD d = new ClassD();
Serialize.Serialize<ClassA>(stream, d);
Serialize.Serialize<ClassD>(stream, d);
В обеих попытках выше сериализованные данные содержат только свойства в ClassDи ни один из ClassA.Я ожидаю, что по крайней мере ни одно из свойств в ClassD не будет сериализовано в первом случае, и я хотел бы, чтобы все, как из ClassA, так и ClassD, были сериализованы во втором случае.
Как бы я подошел к этой проблеме?