我在使用 Protobuf.net 的项目中遇到此异常:
InvalidOperationException "Unexpected sub-type: foo"
我有一个我正在发送的类(class),它看起来像这样:
class message
{
list<bar> listOfBars;
}
foo 继承了 bar,但是 protobuf 似乎对此感到窒息并生成了上面的异常。有没有办法解决这个问题?我需要能够在列表中保存所有不同的 bar 子类型,因此类型受限的解决方案将是困难/不可能的。
最佳答案
我可能错了,但我认为您需要在继承的类上指定哪些子类型从它继承,例如:
[Serializable, ProtoContract, ProtoInclude(100, typeof(Foo))]
class Bar { }
[Serializable, ProtoContract]
class Foo : Bar { } // Inherits from Bar
关于c# - protobuf.net 意外的子类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3797651/