成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

擴(kuò)展方法的使用-創(chuàng)新互聯(lián)

一、擴(kuò)展方法的介紹擴(kuò)展方法的使用

我一般理解一個(gè)知識點(diǎn)喜歡拆分去理解,所以對于擴(kuò)展方法的理解可以拆分為——首先它肯定是一個(gè)方法,然而方法又是對于一個(gè)類型而言的,所以擴(kuò)展方法可以理解為現(xiàn)有的類型(現(xiàn)有類型可以為自定義的類型和.Net 類庫中的類型)擴(kuò)展(添加)應(yīng)該附加到該類型中的方法。

大峪ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

在沒有擴(kuò)展方法之前,如果我們想為一個(gè)已有類型自定義自己邏輯的方法時(shí),我們必須自定義一個(gè)新的類型來繼承已有類型的方式來添加方法,使用這種繼承方式來添加方法時(shí),我們必須自定義一個(gè)新的派生類型,如果基類有抽象方法還需要重新去實(shí)現(xiàn)抽象方法,這樣為了擴(kuò)展一個(gè)方法卻會導(dǎo)致因繼承而帶來的其他的開銷(指的是又要去自定義一個(gè)派生類,還要覆蓋基類的抽象方法等),所以使用繼承來為現(xiàn)有類型擴(kuò)展方法時(shí)就有點(diǎn)大才小用的感覺了,并且當(dāng)我們需要為值類型和密封類(不能被繼承的類)這些不能被繼承的類型擴(kuò)展方法時(shí),此時(shí)繼承就不能被我們所用了, 所以在C#3 中提出了用擴(kuò)展方法來實(shí)現(xiàn)為現(xiàn)有類型添加方法。使用擴(kuò)展方法來實(shí)現(xiàn)擴(kuò)展可以解決使用繼承中所帶來的所有的弊端

擴(kuò)展方法必須具備下面的規(guī)則:

它必須在一個(gè)非嵌套、非泛型的靜態(tài)類中
它至少要有一個(gè)參數(shù)
第一個(gè)參數(shù)必須加上this關(guān)鍵字作為前綴(第一個(gè)參數(shù)類型也稱為擴(kuò)展類型,即指方法對這個(gè)類型進(jìn)行擴(kuò)展)
第一個(gè)參數(shù)不能用其他任何修飾符(如不能使用ref out等修飾符)
第一個(gè)參數(shù)的類型不能是指針類型

示例:

創(chuàng)建一個(gè)類:

public class Methods
{

}

擴(kuò)展這個(gè)類:

public static class MethodsExtension
{

public static class MethodsExtension
{
  public static void StringToInt(this Methods s,string y)
  {
    Console.WriteLine(Convert.ToInt32(y));
  }
}

}

調(diào)用擴(kuò)展方法:

Methods m = new Methods();

m.StringToInt("1");

對string的擴(kuò)展:

public static class stringExtension
{

public static void StringToInt(this string s)
{
Console.WriteLine(Convert.ToInt32(s));
}
}

string a = "123";
a.StringToInt();

主要用在封閉類開的類和對系統(tǒng)類的擴(kuò)展

新聞標(biāo)題:擴(kuò)展方法的使用-創(chuàng)新互聯(lián)
文章出自:http://jinyejixie.com/article12/ccpigc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、電子商務(wù)、微信公眾號、營銷型網(wǎng)站建設(shè)、App開發(fā)網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
枣阳市| 启东市| 海伦市| 庄浪县| 德化县| 汾阳市| 龙游县| 全南县| 涟水县| 英吉沙县| 柳江县| 清丰县| 牡丹江市| 保亭| 山东省| 满洲里市| 五莲县| 临漳县| 尖扎县| 睢宁县| 乌恰县| 安图县| 正安县| 姚安县| 阿克陶县| 乾安县| 肇庆市| 顺平县| 东山县| 泸水县| 惠来县| 桑日县| 台江县| 巴塘县| 浦北县| 阳西县| 中山市| 宁德市| 古交市| 湾仔区| 四子王旗|