限制.NET中的通用参数数量?

时间:2010-03-26 15:13:34

标签: c# .net generics

.NET中类型的通用参数数量是否有限制?硬限制(如32)或软限制(它以某种方式影响性能等)

我指的是:

class Foo<T0, T2, T3, T4, etc.> {
}

2 个答案:

答案 0 :(得分:24)

来自C# 2.0 language spec

  

8.16.3多种类型参数   通用类型声明可以包含任意数量的类型参数。

答案 1 :(得分:20)

C#3.0中的匿名类型实际上是通用的,原因我可能会在某些时候发表博客。当我们设计匿名类型时,我们意识到当然人们可能会创建具有潜在数百个字段的匿名类型,因此我们对具有大量类型参数的泛型的性能进行了大量测试。

我们没有发现任何明显的问题。

然而,我们认为可接受的,你可能不会。我的建议:试一试,看看。写下一些基准,执行它们,然后你将从经验数据中推理,而不是从互联网上随机人员的猜测推断出来,他们不知道你的用户场景是什么或者哪些性能因素对你很重要。