有个疑问,帮忙看看,关于泛型的。。
IList <ProductInfo> products = new List <ProductInfo> ();
为什么这个语句要怎么写,不知道有什么好处,如果用泛型直接这样就行了
List <ProductInfo> products = new List <ProductInfo> ();
为什么要把变量声明为泛型接口,然后用泛型类实例他
------解决方案--------------------就像可以用
Control btn = new Button();
基类和接口你无法隐藏起来的,不需要使用IList就你下面那行就可以了。
------解决方案--------------------不是很懂,估计是因为设计模式里面是这样说的:面向接口的编程,而不是针对实现编程。
也有可能是编码习惯的问题,用接口的话显得更加规范些吧,因为有助于维护。
------解决方案--------------------用接口就灵活得多,接口只关心它做什么,而不关心它是什么
用于通用性的操作,如果传入参数是接口,实际调用时,可以传入任何实现此接口的类的变量
------解决方案--------------------假设你调用一个通用方法(),参数要求是IList <T> 类型,
而你的实际变量是List <T> 类型,就得那样写,
你如果用List <T> ,就会参数类型不匹配