[英]How do I create a generic class that takes as its generic type a generic class?
基本上,我想为所有ICollection <>类型编写一个包装器。 让我们称之为DelayedAddCollection。 它应该采取任何ICollection作为它。
此外,我需要访问该ICollection类型的泛型类型,因为Add方法需要将其参数限制为该类型。
我想象的语法看起来像这样......
public DelayedAddConnection<T>: where T:ICollection<U> {
....
public void Add(U element){
...
}
}
这样做的真正正确语法是什么?
您需要添加另一个泛型类型参数:
public class DelayedAddConnection<T, U> where T : ICollection<U>
{
}
所以,为了将来参考,我实施的这个想法的最终,最干净的版本归功于所有的建议和意见是这样的:
public class DelayedUpdateCollection<U>: ICollection<U>
{
ICollection<U> collection;
public DelayedUpdateCollection(ICollection<U> coll){
collection = coll;
}
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.