原則として、「T には、List を返す String パラメーターを持つメソッドがあります」と言いたいと思います。詳細に言えば、インターフェイス ICanCreateListOfObjectsFromString を呼び出すことができます。可能なアプリケーションは検索かもしれません。
インターフェイスに静的メソッドがあればいいのにと思いますが、C# ではそれが許可されていないことはわかっています。クラスでこの種のコントラクト実装を指定する別のアプローチは何ですか?
編集:次のコードが必要です:
public interface ISearch
{
static List<T> Search<T>(String s);
}
public class MyObject : ISearch {
List<MyObject> Search(string s) {
//...
}
}
public List<T> DoFooSearch<T:ISearch> () {
return T.Search("Foo");
}
public List<T> DoBarSearch<T:ISearch> () {
return T.Search("Bar");
}
このコードがコンパイルされない理由はお分かりいただけると思いますが、これは私が達成したいことの精神を表しています。これで私の意図が少し明確になることを願っています。