国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#神奇的擴展方法

2019-11-17 03:23:45
字體:
來源:轉載
供稿:網友

C#神奇的擴展方法

  以前總聽說擴展方法擴展方法,只是聽說是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;    }}

   這是一個非常簡單而且功能有限,但假設它含有另外一個方法會更有用,該方法返回三個數據的平均值.那么我們有幾種方法可以實現這個增加的功能.

  • 如果我們有源代碼,那么我們可以直接修改這個類,將方法直接添加進去.
  • 然而,如果我們不能修改這個類,例如,如果這個類在一個第三方的類庫中,那么只要它不是密封的,那么我們可以把它當作基類并在派生類中實現這個新增的方法.

  如果我們不能訪問代碼,或該類是密封的,或有其它設計原因使這些方法不能工作,那么我們不得不在另外一個類中使用該類的公有可用成員編寫一個方法.

例如,我們可以編寫一個下面代碼中這樣的類:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 府谷县| 海门市| 丁青县| 高唐县| 宜宾市| 五河县| 芜湖市| 怀化市| 固原市| 苏尼特右旗| 开封县| 玉田县| 万全县| 青海省| 格尔木市| 高台县| 全州县| 鹤山市| 海林市| 和平区| 太康县| 将乐县| 年辖:市辖区| 平阴县| 阿克苏市| 赣州市| 惠安县| 湘潭市| 福贡县| 博湖县| 长子县| 勐海县| 西峡县| 桦川县| 松潘县| 绍兴县| 景德镇市| 张家界市| 奈曼旗| 临沭县| 桂阳县|