"A类:B <C>"和"A类<T>:B <T>,其中T:C"有什么区别?

ffo*_*onz 7 c# generics

我试图从泛型类创建派生类,我想知道它们之间的差异

public class A<T> : B<T> where T : C
{
}
Run Code Online (Sandbox Code Playgroud)

public class A: B<C>
{
}
Run Code Online (Sandbox Code Playgroud)

在A类中,可能没有代码,因为(现在)它的行为与B类不同.我只想区分这两个类.

提前致谢.

Ben*_*son 8

说你上了一堂课

public class D : C
{
}
Run Code Online (Sandbox Code Playgroud)

然后在您的第一个示例中,以下内容有效.

var a = new A<D>
Run Code Online (Sandbox Code Playgroud)

您可以使用任何类T,最终从C派生.

而你的第二个代码是硬编码的,B使用C作为genric类型参数,而不是通用的.