Как создать универсальный класс, который принимает в качестве универсального типа универсальный класс?
в принципе, я хочу написать оболочку для всех типов ICollection. Назовем это DelayedAddCollection. Оно должно принять любое ICollection как свое .
кроме того, мне нужен доступ к универсальному типу этого типа ICollection, поскольку метод Add должен ограничить свой параметр этим типом.
синтаксис, который я бы предположил, будет выглядеть примерно так...
public DelayedAddConnection<T>: where T:ICollection<U> {
....
public void Add(U element){
...
}
}
каков реальный правильный синтаксис для этого?
2 ответов
нужно добавить еще один параметр универсального типа:
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;
}
...