インターフェース: コンストラクター署名の定義
インターフェースは、クラスが従う必要がある規約を定義しますが、本質的にはコンストラクターを定義する機能を提供しません。ただし、次のような疑問が生じるかもしれません: インターフェイス内でコンストラクターのシグネチャを指定するにはどうすればよいですか?
C# では、インターフェイスにはクラスの場合のようにコンストラクターを定義する機能がありません。前述したように、これは、特に特定のプロパティや依存関係がインスタンス化時に初期化されるようにしたい場合には、不便になることがあります。
提供された例では、Update メソッドと Draw メソッドを備えたインターフェイス IDrawable があります。 IDrawable インスタンスが常に GraphicsDeviceManager にアクセスできるようにするには、インターフェイス内でコンストラクター シグネチャを定義するとします。
ただし、インターフェイスではコンストラクターを定義できないため、別のアプローチが必要です。 1 つのオプションは、IDrawable が IObservable
C# のインターフェイスは、メソッドとプロパティのコントラクトを定義するクラスの設計図であることを思い出してください。オブジェクトのインスタンス化はクラスを通じて行われるため、インターフェイス内でコンストラクターを定義することは現実的ではありません。
以上がC# インターフェイスでコンストラクターの署名を指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。