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