3
インターフェースを使用する理由と一般的に制約されたタイプを使用する理由は何ですか
ジェネリック型パラメーター(クラステンプレート、およびパラメーターポリモーフィズムとも呼ばれますが、それぞれの名前には異なる意味があります)をサポートするオブジェクト指向言語では、多くの場合、型パラメーターに型制約を指定して、それを降順にすることができます別のタイプから。たとえば、これはC#の構文です。 //for classes: class ExampleClass<T> where T : I1 { } //for methods: S ExampleMethod<S>(S value) where S : I2 { ... } これらのインターフェースによって制約されるタイプよりも実際のインターフェースタイプを使用する理由は何ですか?たとえば、メソッドシグネチャを作成する理由は何I2 ExampleMethod(I2 value)ですか?