欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

一、擴展方法的介紹擴展方法的使用

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

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

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

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

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

示例:

創(chuàng)建一個類:

public class Methods
{

}

擴展這個類:

public static class MethodsExtension
{

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

}

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

Methods m = new Methods();

m.StringToInt("1");

對string的擴展:

public static class stringExtension
{

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

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

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

新聞標題:擴展方法的使用-創(chuàng)新互聯(lián)
文章出自:http://www.chinadenli.net/article12/ccpigc.html

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

廣告

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

成都網(wǎng)站建設公司