【发布时间】:2014-03-21 19:31:52
【问题描述】:
我研究 Java 很长时间,并且非常熟悉该语言中泛型类型的操作:我知道只有在编译时才会有类型擦除,所以在运行时这些信息不会可用 ) 并了解在泛型类型上应用多态性时遇到的困难。
现在我正在学习 C#,我注意到虽然这种语言使用类似的符号 (Type) 语义似乎并不相同。例如,看到这个问题,C# 运行时是否存储泛型类型的信息而不是丢弃它,与 Java 不同,这是正确的吗?此外,我从未见过 C# 中使用“jokers”(通配符)和类型 。在那种语言中这是可能的(甚至是必要的)?
最后,C# 支持单个方法(不仅仅是类)泛型吗?如果是,Java 中这种构造的等效语法是什么:
public <T> void method (T parameter1 , parameter2 <T> List ) {
如果有任何值得强调的其他细节,或者可能是一些参考资料来了解更多信息,也将受到欢迎。
【问题讨论】:
-
虽然这个问题很相似,但它并没有解决这里的一些具体问题。我不知道它是完全重复的......