I've got an issue with the non-allowed multiple inheritance in C#
Following scenario:
class MasterCamera { ... }
class CameraFromManufacturerA : MasterCamera { ... }
class CameraFromManufacturerB : MasterCamera { ... }
class CameraFromManufacturerC : MasterCamera { ... }
MasterCamera provides some functionality like StartCamera(), ConnectCamera(), etc.
In my main code I use an object MasterCamera mCamera = CameraSelector.GetCamera();
with CameraSelector checking whether a camera from A, B or C is connected, and returns that object (e.g. CameraFromManufacturerA)
This works perfectly fine in theory, but one of these camera's API needs to use the WindowsMessageCallback (WndProc), thus I need to include for that camera only Windows.System.Forms.Form
Since C# does not allow multiple inheritance, and afaik Form has no interface class, I have to make MasterCamera inherit from Windows.System.Forms.Form
I do not want that, so how can I go around that?