基本上,我想为所有ICollection写一个包装器<>类型。让我们称之为DelayedAddCollection。它应该采用任何ICollection作为其。
此外,我需要访问该ICollection类型的泛型类型,因为Add方法需要将其参数限制为该类型。
我想象的语法看起来像这样...
public DelayedAddConnection<T>: where T:ICollection<U> {
....
public void Add(U element){
...
}
}
执行此操作的真正正确语法是什么?
答案 0 :(得分:17)
您需要添加另一个泛型类型参数:
public class DelayedAddConnection<T, U> where T : ICollection<U>
{
}
答案 1 :(得分:0)
所以,为了将来参考,我实施的这个想法的最终,最干净的版本归功于所有的建议和评论是这样的:
public class DelayedUpdateCollection<U>: ICollection<U>
{
ICollection<U> collection;
public DelayedUpdateCollection(ICollection<U> coll){
collection = coll;
}
...