C# で許可されていない多重継承に問題があります。
次のシナリオ:
class MasterCamera { ... }
class CameraFromManufacturerA : MasterCamera { ... }
class CameraFromManufacturerB : MasterCamera { ... }
class CameraFromManufacturerC : MasterCamera { ... }
MasterCameraStartCamera()、などの機能を提供しますConnectCamera()。私のメイン コードでは、A、B、または C のカメラが接続されているかどうかMasterCamera mCamera = CameraSelector.GetCamera();
をチェックするオブジェクトを使用し、そのオブジェクトを返します (例: )CameraSelectorCameraFromManufacturerA
これは理論的には問題なく動作しますが、これらのカメラの API の 1 つは WindowsMessageCallback ( WndProc) を使用する必要があるため、そのカメラのみを含める必要があります。Windows.System.Forms.Form
C# では多重継承が許可されておらず、フォームにはインターフェイス クラスがないため、MasterCamera継承元にする必要があります。Windows.System.Forms.Form
私はそれをしたくないので、どうすればそれを回避できますか?