擴充套件方法貌似平時很少用,平時基本都是用靜態方法,其實靜態方法也挺方便的。
classprogram
;var age = p.getage();//
擴充套件方法呼叫起來更順眼
age = extensionclass.getage2(p);//
靜態方法呼叫
console.readkey();}}
public
static
class extensionclass//
注意擴充套件方法的類不能放到program類裡面,這樣擴充套件方法就會報錯
public
static
int getage(this person person)//
擴充套件方法
}public
class
person
public datetime? deathtime
}
上面所有的都只是擴充套件方法的附加用處,擴充套件方法真正的威力是為linq服務的(主要體現於ienumerable和iqueryable)。下面簡單列舉個例子:
例:
publicstatic ilistmywhere(this ilistlist, funcbool>func)
return
newlist;
}
總結擴充套件方法的定義規則:靜態類裡面宣告靜態方法,方法(擴充套件方法)第乙個引數(被擴充套件的型別)前面加「this」;
Sass用法及常用方法整理
a body.firefox 編譯為 a a hover body.firefox a 必須作為選擇器的第乙個字元,其後可以跟隨字尾生成復合的選擇器,例如 main 編譯為 main main sidebar.funky 編譯為 funkysassscript 最普遍的用法就是變數,變數以美元符號開...
nginx功能擴充套件整理
0 基本負載均衡配置 更新 etc nginx conf.d default.conf,配置反向 location 重新啟動nginx sudo service nginx restart1 子請求 當乙個請求發起乙個 子請求 的時候,依照 nginx 的術語,習慣把前者稱為後者的 父請求 pare...
bitset 用法整理
建構函式 bitsetb b有n位,每位都為0.引數n可以為乙個表示式.如bitset 5 b0 則 b0 為 00000 bitsetb unsigned long u b有n位,並用u賦值 如果u超過n位,則頂端被截除 如 bitset 5 b0 5 則 b0 為 00101 bitsetb s...