它與this關鍵字一樣,都是作為類的例項(因此不能呼叫基類的程式設計客棧靜態成員和抽象成員)簡寫或者替代而存在的,只不過this關鍵字用於替代本類的例項,base關鍵字用於替代基類的例項,用法很簡單,其訪問基類的形式如下:
base.【識別符號】
base[【表示式列表】] 這個型別的一看便可以大概猜測多用於基類例項的索引器操作,在***演示的**中你會看到它的用法。
對於 base.【識別符號】的訪問形式再次說明一下:
對於非虛方法,這種訪問僅僅是對基類例項成員的直接訪問,完全等價於((base)this).【識別符號】。
對於虛方法,對於這種訪子類重寫該虛方法運用這種yegquwbs訪問形式也是(禁用了虛方法呼叫的機制)對基類例項成員的直接訪問,將其看做非虛方法處理,此時則不等價於((base)this).【識別符號】,因為這種格式完全遵守虛方法呼叫的機制,其宣告試時為積累型別,執行時為子類型別,所以執行的還是子類的重寫方法。於未重寫的虛方法等同於簡單的非虛方法處理。
測試**如下:
using system;
namespace basetest
public virtual void f2()//virtual method
public virtual void f3()
public string this[int index]
else
}get
else}}
} class child:father
public override void f2()
static void main(string args)
}}base用於建構函式宣告,用法和this用於建構函式宣告完全一致,但base是對基類建構函式形參的匹配。
using system;
namespace basecotest
public base(int a)
public base()
} class sub : base
public sub(int a)
: base(1, "123")
class test}}}
本文位址: /ruanjian/csharp/126748.html
學習Base關鍵字
它與this關鍵字一樣,都是作為類的例項 因此不能呼叫基類的靜態成員和抽象成員 簡寫或者替代而存在的,只不過this關鍵字用於替代本類的例項,base關鍵字用於替代基類的例項,用法很簡單,其訪問基類的形式如下 base.識別符號 base 表示式列表 這個型別的一看便可以大概猜測多用於基類例項的索引...
base關鍵字 this關鍵字
用於在派生類中實現對基類公有或者受保護成員的訪問,但是只侷限在建構函式 例項方法和例項屬性訪問器中。功能主要包括 1 呼叫基類上已被其他方法重寫的方法。2 指定建立派生類例項時應呼叫的基類建構函式。base常用於,在派生類物件初始化時和基類進行通訊。base可以訪問基類的公有成員和受保護成員,私有成...
C 學習筆記 base關鍵字
base關鍵字用於從派生類中訪問基類的成員 基類訪問只能在建構函式 例項方法或例項屬性訪問器中進行。從靜態方法中使用base關鍵字是錯誤的。在本例中,基類 person 和派生類 employee 都有乙個名為 getinfo 的方法。通過使用base關鍵字,可以從派生類中呼叫基類的 getinfo...