亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

擴展方法和設置參數默認值

系統 1953 0

  有很多擴展類的方式,如果有類的源代碼,繼承是給對象添加功能的好方法。但如果沒有源代碼,我們可以用擴展方法,它允許改變一個類,但不需要該類的源碼。

  擴展方法是靜態方法,他是類的一部分,但實際上沒有放在類的源代碼中,假如有一個Money類,里面有個Amount屬性,我們想給其增加一個方法,可以如下編寫:

      
        public
      
      
        static
      
      
        class
      
      
         MoneyExtension

    {

        
      
      
        public
      
      
        static
      
      
        void
      
       AddToAmount(
      
        this
      
       Money money, 
      
        decimal
      
      
         amountToAdd)

        {

            money.Amount 
      
      +=
      
         amountToAdd;

        }

    }
      
    

  其中,第一個參數是要擴展的類型,放在this關鍵字之后。在主程序中,AddToAmount看起來像是另一個方法。他沒有顯示第一個參數,也不能對他進行任何處理。要使用新方法,就要進行如下調用,這與其他方法相同:實例化類名.AddToAmount(10M)。

  如果擴展方法與類中的某個方法同名,就永遠不會調用擴展方法。類中已有的任何實例優先。

  另外,在一個靜態方法的第一個參數前面加this,可以在調用時直接用 要注意定義的的時候類需要是靜態的。如:

      
        public
      
      
        static
      
      
        string
      
       AddAmazing(
      
        this
      
      
        string
      
      
         str)

        {

            
      
      
        return
      
       str + 
      
        "
      
      
        !!!
      
      
        "
      
      
        ;

        }
      
    

  此時在別處即可調用

?

  在定義方法時,可以更靈活的設置默認值:

      
        private
      
      
        static
      
      
        string
      
       MakePath(
      
        string
      
       fileName = 
      
        null
      
      
        )

        {

            
      
      
        return
      
       String.Format(
      
        @"
      
      
        c:\{0}.txt
      
      
        "
      
      , fileName ?? 
      
        "
      
      
        Untitled
      
      
        "
      
      
        );

        }
      
    

這樣當參數有值時按定義返回,無參或為空時按默認值返回。

擴展方法和設置參數默認值


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产区在线观看视频 | 久久久久欧美精品三级 | 最新国产精品好看的国产精品 | 欧美亚洲网站 | 色费女人18毛片a级视频在线 | 日韩美女一级毛片 | 亚州色拍拍拍 | 亚洲美女啪啪 | 久久免费视频播放 | 色香视频在线 | 天海翼一区二区在线观看 | 日韩激情中文字幕一区二区 | 成人xxx视频| 日本中文字幕永久在线 | 亚洲国产精品综合欧美 | 久久咪咪| 亚洲综合亚洲 | a久久久久一级毛片护士免费 | 欧美乱妇高清视频免欢看关 | 国产高清专区 | 99热自拍 | 亚洲欧洲第一页 | 国产乱人伦偷精品视频不卡 | 国产福利资源在线 | 狠狠色综合色综合网络 | 91精品自在拍精选久久 | 免费wwwxxx| 吃奶japanesevideo 处videossex第一次中 | 国产精品999在线 | 鲁啊鲁啊鲁在线视频播放 | 亚洲小视频在线观看 | 久久久久久久久网站 | 国产性一交一乱一伦一色一情 | 欧美成人精品不卡视频在线观看 | 超级毛片 | 8090碰成年女人免费碰碰尤物 | 青草草在线观看免费视频 | 久久国产精品免费看 | 午夜欧美性视频在线播放 | 99pao在线视频精品免费 | 在线免费国产 |