啥叫“普通类”?“不普通的类”的又是什么?
泛型方法听说过么?
@LiloT: 听说过。
@Launcher: 那应该知道我想问什么了吧?
@LiloT: 其实我还是不太明白,因为“类为什么要有泛型方法”,从设计层面讲,这是类的设计者定义的,我们无权干涉;从语法层面讲,泛型可以重用代码,并在一定条件下提升性能。
那么抛开类,只谈 C# 中的泛型的机制的话,那么你可以简单浏览下这篇文章:http://www.cnblogs.com/kid-li/archive/2006/11/29/577045.html
把问描述清楚吧。是不是自己定义的类为普通类,系统的DLL中的类为不普通的?
泛型方法听说过么?
@LiloT: 今天听你第一次说, 以前都是用。
@Albert Fei: 是不是我普通类意思猜错了。莫非楼主是想说泛型类?才怀疑我听没听过泛型方法?
给个普通类的解释
泛型的主要功能就是减少重复的编码,可扩展,非泛型类中包含泛型方法也是同样的作用
至于工作的机理跟泛型类的解析是一样的,在你传递类型时候编译器会生成相关强类型的签名方法
具体的可以参考一些泛型底层实现的技术文章,这类文章还是很多的,而且也可以自己写个程序然后
用MSIL反编译成IL代码后观察下~
泛型提供了一个类的模板,可以让不同类型调用。一般用<T>替代这些类型,调用的时候直接把T换成你想用的类型。建议再去多看看代码,静下心来理解一下。
楼主说的普通类就是一般常规定义的类,非要抓着人家一个口语化的说法一顿说有意思?
但是对于你这个问题我也不好回答,新手刚学习泛型。
我自己想明白了,泛型的本质在于在类的层次上又抽象了一层,使类或者算法更加通用。在底层编译器在处理的时候会进行展开,比如在处理一个泛型类型T的时候,会用相应的int或者float类型代替。有啥问题可以继续探讨。