紙上得來終覺淺,絕知此事要躬行!(1)、這裡解決了當傳入引數的名稱和類字段同名時造成的歧義,可以使用this關鍵字來自制定指定當前類欄位名稱賦值,否則會出現下圖提示,而且當你呼叫下圖建構函式,會發現輸出name的值為空。
(2)、在類的定義內的方法,呼叫當前類例項成員,可以使用this關鍵字代替當前的例項物件,相當於下面**中的console.writeline(「taxes: 」, tax.calctax(e1));
*/這個建構函式鏈的使用就是通過建立乙個最多定義欄位的主建構函式,然後其他的建構函式再繼承這個主建構函式,這樣我們只需要操作這個主建構函式,就可以達到同步修改繼承該主建構函式的所有建構函式。記住,呼叫所有繼承的建構函式時,會預設首先呼叫主建構函式。這個技術適用於.net所有版本,但是建議在.net 4.0及以上版本中,使用可選引數(/命名引數)來進行定義。
class
employee
public
employee
(string name)
:this
(name,0)
public
employee
(int
alias):
this(""
,alias
)public
employee
(string name,
intalias
)private
string name;
private
int alias;
}class
mainclass
}
使用this關鍵字拓展方法,記住拓展方法必須在非泛型靜態類中定義,如下void main()函式中的兩種呼叫都可以得出相同的結果。
class
employee
public
employee
(string name,
intalias
)public
string name;
public
int alias;
static
void
main()
}static
class
mainclass");}}
這個我不懂,可以參考這個大佬的部落格:
this關鍵字和索引器
注意:靜態成員函式(static關鍵字),因為它們存在於類級別且不屬於物件,不具有 this 指標。 在靜態方法中使用 this 作為引用會生成錯誤。
歡迎批評指正!共勉!!!
C this關鍵字用法
這個關鍵字引用類的當前例項,並且也用作擴充套件方法第乙個引數的修飾符 public employee string name,string alias calctax this public intthis int param set 靜態成員函式存在於類級別,並且不作為物件的一部分,所以沒有thi...
C this關鍵字用法
this關鍵字的作用是解決當傳入引數的名稱和資料字段的名稱,型別完全相同時產生的作用於歧義,一般情況下我們應該避免產生重名的習慣 先來演示下 class airplane 呼叫上面的類例項 airplane fly new airplane fly.setderivername jack conso...
C this關鍵字的用法
msdn中的小結功能主要包括 1 限定被相似的名稱隱藏的成員 2 將物件作為引數傳遞到其他方法 3 宣告索引器 this指代類物件本身,用於訪問本類的所有常量 字段 屬性和方法成員,而且不管訪問元素是任何訪問級別。因為,this僅僅侷限於物件內部,物件外部是無法看到的,這就是this的基本思想。另外...