一部のクラスをシリアル化するために Protobuf.net を使用しています。基本クラスで [ProtoInclude] を指定しなくても、SuperHero クラス (以下) をシリアル化できるようにしたいと考えています。これは、派生クラスは自動的に生成されますが、基本クラスは生成されないためです。そのため、基本クラスはその派生クラスを直接認識していません。
[ProtoContract]
class Person
{
[ProtoMember(1)]
public int Id { get; set; }
[ProtoMember(2)]
public string Name { get; set; }
}
[ProtoContract]
class SuperHero : Person
{
[ProtoMember(3)]
public string Powers { get; set; }
}
protobuf.net の最新バージョンを使用しています。