C# C泛型-有人能解释一下这个签名吗

C# C泛型-有人能解释一下这个签名吗,c#,asp.net-mvc,generics,C#,Asp.net Mvc,Generics,我正在从事一个名为Merchello的C开源项目。我试图对它进行一点定制,但我不认为我完全理解其中的一些代码 我可能需要更改现有的MVC控制器,但我不完全理解它是如何组合起来的- 我承认我不太熟悉C语言中的泛型-有人能给我解释一下这个签名的含义吗?特别是我想了解TBillingAddress的含义。如果你也能给我指出任何有助于我进一步理解这一点的链接 public abstract class CheckoutAddressControllerBase<TBillingAddress, T

我正在从事一个名为Merchello的C开源项目。我试图对它进行一点定制,但我不认为我完全理解其中的一些代码

我可能需要更改现有的MVC控制器,但我不完全理解它是如何组合起来的-

我承认我不太熟悉C语言中的泛型-有人能给我解释一下这个签名的含义吗?特别是我想了解TBillingAddress的含义。如果你也能给我指出任何有助于我进一步理解这一点的链接

public abstract class CheckoutAddressControllerBase<TBillingAddress, TShippingAddress> : CheckoutControllerBase
    where TBillingAddress : class, ICheckoutAddressModel, new()
    where TShippingAddress : class, ICheckoutAddressModel, new()
{
对于TBillingAddress:

类-表示类型必须是引用类型

ICheckoutAddressModel-表示类型必须实现此接口

new-表示类型必须具有无参数构造函数

这些都会约束TBillingAddress可以使用的类型,并约束您可以在任何使用该类型的方法中对该类型执行的操作

TShippingAddress也有同样的限制

另见:


你试过用谷歌搜索这些信息吗?这里有一篇来自msdn的文章:可能的重复