0
「汎用インターフェイス」と「非汎用インターフェイスの汎用メソッド」の違いは何ですか? もう一方の利点はありますか?非ジェネリックインターフェイスの汎用メソッド
interface IMyInterface
{
void MyMethod<T>(T param) where T : class;
}
と
interface IMyInterface<T> where T : class
{
void MyMethod(T param)
}
違いはジェネリッククラスと非ジェネリッククラスの場合と同様です。 –
インタフェースのジェネリックインタフェースの実装でもジェネリックでなければならないか、具体的なタイプを使用する必要があります。ジェネリックメソッドはジェネリックとして使用でき、具体的なタイプはランタイムで定義できます – Fabio
メソッドとタイプの使い方によって異なります。あなたの具体例にはほとんど違いはありませんが、他の場合にはオブジェクト全体を同じタイプで操作する必要があります。率直に言えば、インターフェイスは通常オブジェクト全体に関するものなので、_interface_に汎用_methods_はあまり表示されません。しかし、インターフェース内に1つ以上のメソッドしか必要としない状況があった場合は、クラスでそれを行うのと同じ理由で、それらを汎用的にすることになります。詳細については、重複したマークを参照してください。 –