比如datareader跟Idatareader的区别在哪呢?貌似后者是个接口,但是说不上来!

解决方案 »

  1.   

    Asp.net(C#)高手交流群(39364250),欢迎高手加盟!
      

  2.   

    你说的这两个东西是否都指ADO.NET中的概念?如果是的话,我说一下我的看法。1:DataReader类在ADO.NET中是不存在的。你可以有SqlDataReader,OleDbDataReader,OracleDataReader等;但在ADO.NET中本身并没有这个类。
    2:IDataReader是ADO.NET中定义的一个接口,这个接口规定了所有的DataReader这些类应该具备的特征。
    3:
      

  3.   

    Hello,我也来凑凑热闹你说的确实是一个接口和类之间的关系。IDataReader提供了一种约束,即:接口。
    DataReader:包括SqlDataReader,OledbDataReader,OracleDatareader,实现了这个接口。注:Ado.net有这几个子类实现了IDataReader接口,但是:如果可以的话,可以自己进行对接口的扩展。
    如:写一个关门用于读xml或者某种格式的文本文件的类,可以叫做:XMLDocumentDataReader:IDataReader。即:IDataReader节口要求所有的子类必须符合某种特定的格式或者是规范。
    因此:所有的子类都是实现了某些约定的功能的。在使用这些子类时可以不关心子类的具体实现,只需要调用接口中公开
    的方法即可。