擴充套件方法使用
在實際專案中,通常會定義乙個靜態類,類中包含一些常用的操作方法(如字串處理,判斷字串是否是正確的**號碼或者email等),將這些方法定義為靜態方法,
c#3.0中引入擴充套件方法的概念,使用方式:在使用擴充套件方法的第乙個引數前面加this關鍵字。下面演示了擴充套件方法的簡單使用:
static變數str1,str2都能成功轉成大寫。從表面上看變數str有乙個transferstrtoupper方法,但本質上其仍然是靜態方法。class
commonhelper
}class
program
,str2=
",str1,str2);
console.readkey();}}
擴充套件方法本質
其實擴充套件方法本質並不是僅為了使**的寫法上發生改變,以上只是演示如何建立並使用擴充套件方法。
擴充套件方法的引入,能模擬為不同的類類建立例項方法。假設有這樣一種場景,如果實際專案中有乙個字串處理模擬如叫saylove,
但是該類不允許修改它的源**並且是個密封類(不允許被繼承),但是會用到該類裡的一些方法,比如方法sayloveyou,
當然這時你可以再定乙個類sayloveextend,在這個類裡的乙個方法expresslove將類saylove例項作為引數,這樣就可以使用類saylove內部的一些方法,能解決問題。
但如果能在類saylove的例項上呼叫新增的方法expresslove,而不是建立另乙個作用於它的類sayloveextend的例項,這樣看起來更加好看,彷彿這個新增的方法就是類saylove內部的方法。
下面是對該段文字描述的程式描述:
sealed程式輸出:class
saylove
}static
class
sayloveextend
}class
program
}
C 中的擴充套件方法
c 中的擴充套件方法用來為現有型別新增方法,以擴充套件現有的型別,這些型別可以是基本的資料型別 如int string等 也可以是自己定義的型別。擴充套件方法是通過指定關鍵字this修飾方法的第乙個引數而宣告的。擴充套件方法只可以宣告在靜態類中。以下為擴充套件基本型別string public st...
C 中的擴充套件方法
擴充套件方法的目的就是向乙個現有型別中新增方法,現有型別可以是已存在的型別,比如int,string等資料型別,也可以是我們自定義的資料型別。擴充套件方法是一種特殊的靜態方法,但可以像擴充套件型別上的例項方法一樣進行呼叫。某個已經存在資料型別,該型別下的方法無法滿足我們的需求,這個時候就需要我們自己...
C 中的擴充套件方法
這個特性是從.net3.5的時候開始出現的,是指在原有類中插入乙個方法,用於給原有類擴充套件新的功能的方法。給我的感覺就是有點類似於外掛程式的意思。比如下面的 1 namespace extendfunction 2 11 12static class extclass 13 18 19 雖然我上面...