如题
经常看到继承的代码中需要用到继承的方式时都是用base.xxxx() 的写法,但是我在继承ObservableCollection的时候,向要用First<> 的方法时用base就出错,必须要用this,所以想问这些东西的区别是什么?

解决方案 »

  1.   

    base 当前类的父类(基类)
    this 当前类
      

  2.   

    base就是指老爹,this就是指自己
      

  3.   

    this是你的肋,base是你的鸡肋
      

  4.   

    ........
    但是,在当前类中用父类的的方法,this 和 base 有什么区别
    还有为什么First<> 这种Linq的方法不能用在base上呢?
      

  5.   


    this是指当前类的方法,这包括了从父类继承来并重写的方法。base则只是父类的方法。第二句话看不懂。你怎么使用base?
      

  6.   

    this当前类的成员方法,是指本身,base是指父类(基类)的成员或者方法
      

  7.   

    base 你是老爸。。
    this就是自己。这种说法比较经典。
      

  8.   

    base常用于,在派生类对象初始化时和基类进行通信。 
    base可以访问基类的公有成员和受保护成员,私有成员是不可访问的。 
    this指代类对象本身,用于访问本类的所有常量、字段、属性和方法成员,而且不管访问元素是任何访问级别
    base是为了实现多态而设计的
      

  9.   


    我是继承了ObservableCollection<T>类型的
    在重写的方法里本来想用base.First(c=>c.Key=="")来找东西,结果代码提示错误
    "does not contain a definion for 'First'"
      

  10.   

    base和this在C#中被归于访问关键字,就是用于实现继承机制的访问操作,来满足对对象成员的访问,从而为多态机制提供更加灵活的处理方式。 
    base
    其用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中,MSDN中小结的具体功能包括:
    调用基类上已被其他方法重写的方法。 
    指定创建派生类实例时应调用的基类构造函数。 
    this
    其用于引用类的当前实例,也包括继承而来的方法,通常可以隐藏this,MSDN中的小结功能主要包括:
    限定被相似的名称隐藏的成员 
    将对象作为参数传递到其他方法 
    声明索引器 
      

  11.   

    this和base不一样的东西 ,没什么好比的
      

  12.   

    base 当前类的父类(基类)
    this 当前类
      

  13.   

    base指当前类的父类可以调用父类的属性,方法,和构造函数
    this指当期类也就是我们所说的本类