![]() |
1
4
最简单的方法显然是省略它,看看它是否编译。
实际上,无论类型参数在何处被推断,都可以忽略它们;当它们用于方法参数的类型时,通常可以推断它们,而不是您指定的类型。如果使用它们,则无法推断它们
在方法的返回类型中。因此,例如
你试着用lambda来称呼它:
尽管
推理的具体分步规则实际上相当复杂,最好阅读这里的主要源代码,即C语言规范。 |
![]() |
2
1
此功能称为类型推断。在您的示例中,编译器可以为您自动隐式地确定泛型参数类型,因为在对ConvertAll的方法调用中,参数lambda返回一个字符串值(即名称)。因此,您甚至可以删除
至于您的答案,当编译器可以确定类型本身时,泛型参数是多余的,不必要的。大多数时候,唯一需要传递泛型参数的地方是声明,比如,
|
![]() |
Terio · Typescript:使用变量的值创建自定义类型 2 年前 |
![]() |
Kareem Adel · 创建函数类型(TypeScript接口) 2 年前 |
![]() |
MatÄj VondráÄek · 如何在c#方法中传递类型? 3 年前 |
![]() |
kreo · 为什么&[T]参数也接受&Vec? 7 年前 |
![]() |
Jiji · 将简单对象强制转换为简单的通用接口 7 年前 |