C# · 12月 27, 2021

c# – 如何创建一个通用类,它将泛型类作为泛型类?

基本上,我想为所有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>{}