以前總聽說擴展方法擴展方法,只是聽說是C#3.0后出來的新玩意,也僅僅是知道Linq中用到好多的擴展方法,但是他究竟是個什么東東,怎么用它,用它的好處是什么,總是模模糊糊,那么我們今天就嘗試揭開它神秘的面紗。
我們現在看到每個方法都和聲明它的類關聯,但是C#3.0的擴展方法的特性擴展了這個邊界,允許編寫和聲明它的類之外的類關聯的方法。想要知道如何利用這個特征,我們先看一個例子:
class MyData{ double D1,D2,D3; public MyData(double d1,double d2,double d3) { D1=d1;D2=d2;D3=d3; } public double Sum() { return D1+D2+D3; }}這是一個非常簡單而且功能有限,但假設它含有另外一個方法會更有用,該方法返回三個數據的平均值.那么我們有幾種方法可以實現這個增加的功能.
如果我們不能訪問代碼,或該類是密封的,或有其它設計原因使這些方法不能工作,那么我們不得不在另外一個類中使用該類的公有可用成員編寫一個方法.
例如,我們可以編寫一個下面代碼中這樣的類:
新聞熱點
疑難解答