繁体   English   中英

如何用泛型集合声明泛型方法?

[英]How to declare a generic method with a generic collection?

例如

void f<C, T>(C<T> collection, T element) : where C has member method BindarySearch

我有两个问题:

  1. 是否可以使用泛型集合声明泛型方法? 如果是这样,怎么办?
  2. 如何使C具有特定的成员方法? 谢谢。

您可以使用接口来强制所需的成员:

interface IHasBinarySearch<T> : ICollection<T> {
    int BinarySearch(T item);
}

然后可以定义一个通用方法,如下所示:

void f<C, T>(C collection, T element) where C : IHasBinarySearch<T>

该接口已经是通用集合(通过扩展ICollection<T> ),因此无需再次在方法上指定约束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM