接口编程

.NET框架包括类和接口,在编写程序的时候,你可能知道正在用.NET的哪个类。然而,在这种情况下如果你用.NET支持的接口而不是它的类来编程时,代码会变得更加稳定、可用性会更高。请分析下面的代码: 

private void LoadList (object [] items, ListBox l) 

for (int i = 0; i < items.Length;i++) 
l.Items.Add (items[i].ToString ()); 


这个函数从一个可为任何对象的数组中加载ListBox,这段代码被限定为只能使用数组。假想过些时候你发现那些对象存在数据库中,或别的集合中。那么你需要修改程序来使用不同的集合类型。如果你用ICollection接口来写那段程序,中国自学编程网,www.zxbc.cn 你就不用修改那段程序了,对于任何实现ICollection接口的类型它都能很好的工作: 

private void LoadList (ICollection items,ListBox l) 

foreach (object o in items) 
l.Items.Add (o.ToString ()); 


ICollection被数组和所有System.Collection中的集合实现。此外,多维数组也支持ICollection接口。如果那还不够的话,数据库.NET类同样支持ICollection接口。用接口写的这个函数不用需改就可以才许多中情况下使用。
原文地址:https://www.cnblogs.com/zhangjun1130/p/1393168.html