C# · 12月 22, 2021

C#泛型是否支持类型签名约束?

C模板的一个好处是你(隐式地)可以要求某种类型的签名(例如,类型T需要有一个不带参数的函数x并返回一个int). C#泛型是否支持类似的东西?

我知道基于基类或接口的约束,但这不是我想要的.

(作为一名学习C#的C程序员,我可能会误认为这是你在C#中想要的一个功能.任何关于这个的评论都会被批评……)

解决方法 除了你已经看过的限制之外什么都没有(公平地说,它涵盖了很多常见的场景).有一些常见的解决方法:

>动态,4.0
>使用反射或IL生成等手动鸭子打字

但是,这些都没有静态类型检查等.