[英]Defining bounded generic type parameter in C#
在 Java 中,可以绑定泛型类型的类型参数。 可以这样做:
class A<T extends B> {
...
}
因此,A 的这个泛型类的类型参数应该是 B 或 B 的子类。
我想知道 C# 是否有类似的功能。 如果有人让我知道,我很感激。
谢谢
非常相似:
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
{
// ...
}
是的,您可以这样做,这称为类型约束。 这里有一篇文章解释了如何:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.