base和this在C#中被归于访问关键字,就是用于实现继承机制的访问操作,来满足对对象成员的访问,从而为多态机制提供更加灵活的处理方式。 base其用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中,调用基类上已被其他方法重写的方法。 指定创建派生类实例时应调用的基类构造函数。
this其用于引用类的当前实例,也包括继承而来的方法,通常可以隐藏this。
在静态成员中使用base和this都是不允许的。原因是,base和this访问的都是类的实例,也就是对象,而静态成员只能由类来访问,不能由对象来访问。 |