在Java中,可以绑定泛型类型的类型参数。可以像这样完成:
class A<T extends B> {
...
}
所以,这个泛型类A的类型参数应该是B或B的子类。我想知道C#是否有类似的功能。如果有人知道,请告诉我。谢谢!
在Java中,可以绑定泛型类型的类型参数。可以像这样完成:
class A<T extends B> {
...
}
非常相似:
public class A<T> where T : B
{
// ...
}
这可以用来约束T为B的子类或实现(如果B是一个接口)。
此外,您还可以约束T为引用类型、值类型或需要默认构造函数:
where T : class // T must be a reference type
where T : struct // T must be a value type
where T : new() // T must have a default constructor
class A<T> where T: B
{
// ...
}
class A<T> where T : B {...}
。我有些时间没用了。 - asawyer