一般规则是我想说,“T 有一个带有 String 参数的方法,它将返回 List。” 详细地说,我们可以调用接口 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");
}
您可能会看到为什么这段代码无法编译,但它表达了我想要实现的精神。我希望这能澄清我的意图。