C# 在C语言中定义有界泛型类型参数#

C# 在C语言中定义有界泛型类型参数#,c#,generics,clr,bounded-types,C#,Generics,Clr,Bounded Types,在Java中,可以绑定泛型类型的类型参数。可以这样做: A类{ ... } 因此,A的这个泛型类的类型参数应该是B或B的子类 我想知道C#是否有类似的功能。如果有人告诉我,我将不胜感激 谢谢C#中的相同内容是: A类,其中T:B { } 另请参见(msdn)了解一般约束的概述。非常类似: public class A<T> where T : B { // ... } 当然,你可以: class A<T> where T: B { // ... }

在Java中,可以绑定泛型类型的类型参数。可以这样做:

A类{
...
}
因此,A的这个泛型类的类型参数应该是B或B的子类

我想知道C#是否有类似的功能。如果有人告诉我,我将不胜感激

谢谢

C#中的相同内容是:

A类,其中T:B
{
}
另请参见(msdn)了解一般约束的概述。

非常类似:

public class A<T> where T : B
{
    // ...
}
当然,你可以:

class A<T> where T: B
{
    // ...
}
A类,其中T:B
{
// ...
}

是的,您可以这样做,它被称为类型约束。以下是一篇文章,解释了如何:


A类,其中T:B{…}
我想。已经有一段时间了。在我完成我的作业时,比我快了几秒钟,+1代表MSDN链接。
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
{
    // ...
}