【发布时间】:2012-09-12 09:04:48
【问题描述】:
我遇到了 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
我不想这样,那我该如何解决呢?
【问题讨论】: