I think my question is very similar to this question: Protobuf-net creating typemodel with interface and abstract baseclass however the solution given by Marc here, essentially reduces the multiple inheritance of an abstract class and interface down into a single inheritance design.
The problem for me is, I actually require multiple interface inheritance like this:
interface ITestBase
{
}
abstract class TestBase : ITestBase
{
}
class TestTypeA : TestBase, ITestTypeA
{
}
interface ITestTypeA
{
}
class TestTypeB : TestBase, ITestTypeB
{
}
interface ITestTypeB
{
}
Here I cannot trivialise this by making TestBase implement ITestTypeA or ITestTypeB (as was the solution for the other question) because the concrete classes TestTypeA should implement both ITestTypeA and ITestBase, and TestTypeB should implement ITestTypeB and ITestBase.
And I'm using protobuf-net v2.0.0.480