I have an interesting stack of assemblies I want to put together:
Common Assembly (C# or C++)
public class MyBase { public void MethodA() { ... } private void MethodB() { ... } protected virtual MethodC() { ... } }
Test Code Assemblies (all C++)
public class MySpecific : public MyBase{ protected: override MethodC(); };
Test Simulator (C#)
MySpecific obj = new MySpecific(); obj.MethodC();
While assembly 1 could be C++ to keep things simpler, I'd really like to keep assembly 3 in C#. This is largely an exercise to see if inheritance could be done in either direction, but I also have a real-world case where this stack is useful.
The first problem I find is that the C++ assembly does not compile because it doesn't recognize MyBase as a class, even though I have a reference to assembly 1 and what looks like the proper namespace.
How do I write classes that are language-portable?