我在 C# 中遇到了不允许的多重继承问题
以下场景:
class MasterCamera { ... }
class CameraFromManufacturerA : MasterCamera { ... }
class CameraFromManufacturerB : MasterCamera { ... }
class CameraFromManufacturerC : MasterCamera { ... }
MasterCamera
提供一些功能,如StartCamera()
,ConnectCamera()
等。在我的主代码中,我使用一个对象MasterCamera mCamera = CameraSelector.GetCamera();
来CameraSelector
检查是否连接了来自 A、B 或 C 的相机,并返回该对象(例如CameraFromManufacturerA
)
这在理论上工作得很好,但是这些相机的 API 之一需要使用 WindowsMessageCallback ( WndProc
),因此我只需要包含该相机Windows.System.Forms.Form
由于C#不允许多重继承,并且afaik Form没有接口类,我必须MasterCamera
从Windows.System.Forms.Form
我不想那样,那我怎么能绕过呢?