我认为我的问题与这个问题非常相似: Protobuf-net Creating typemodel with interface and abstract baseclass 然而 Marc 在这里给出的解决方案基本上将抽象类和接口的多重继承降低为单一继承设计。
对我来说问题是,我实际上需要像这样的多个接口继承:
interface ITestBase
{
}
abstract class TestBase : ITestBase
{
}
class TestTypeA : TestBase, ITestTypeA
{
}
interface ITestTypeA
{
}
class TestTypeB : TestBase, ITestTypeB
{
}
interface ITestTypeB
{
}
在这里,我不能通过让 TestBase 实现 ITestTypeA 或 ITestTypeB 来解决这个问题(就像另一个问题的解决方案一样),因为具体类 TestTypeA 应该同时实现 ITestTypeA 和 ITestBase,而 TestTypeB 应该实现 ITestTypeB 和 ITestBase。
我正在使用 protobuf-net v2.0.0.480