当我试图查看Tuple<>定义的时候,貌似看到的不是一个类的定义,而是一组名字相同但泛型参数不同的类?
1.也就是说,即使名字相同,只要泛型参数不同,C#也把他们看作是不同的class吗?
2.如果是这样的话,那么我是不是永远不能用这样的语法 class <T> where T : Tuple<>?
3. 也就是说T不能够代表一个不确定泛型参数个数的Tuple? 是这样吗?
谢谢
您好:
1、是的。
2、是的。这跟1无太大的因果关系。
3、是的。
补充一下,您看到的Tuple定义也是一个个定义的,T参数的个数其实是确定的,每个对应不同的使用场景,只是感觉上不确定。如果要约束 T 可以尝试用它们的接口,例如ITuple。