U3D_03_13

關于C#的編程知識

AAA.cs
namespace ConsoleApplication1
{
    static class AAA
    {
        public static void BBB(this object a)
        {
            System.Console.WriteLine("Hello");
        }
    }
}
Program.cs
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            String a = new String('a',6);
            a.BBB();
        }
    }
}
  網上查了下蛉艾,給的解釋是:
  C#3.0的擴展方法丈钙,this后面跟需要擴展的類陈惰,這里既然是object疏咐,說明任何類都可以使用這個方法扬舒。String自然屬于object阐肤,所以String的對象a可以使用BBB()方法,就這么簡單,達到了擴展一個類的方法的目的孕惜。本來沒有BBB()方法的object類愧薛,現在多出來了BBB()方法。
 另外要說明的是衫画,你有沒有發(fā)現那個BBB()方法在調用的時候并沒有參數毫炉,而申明的時候有個參數,不過是this標識的參數削罩,因為那個參數的特殊意義(用來指明需要擴展的類)瞄勾,所以其實那個方法是無參數的方法,你如果需要添加一個參數弥激,可以在后面再加一個參數进陡,比如:
AAA.cs 
namespace ConsoleApplication1 
{ 
    static class AAA 
    { 
        public static void BBB(this object a,string input)
        {
            System.Console.WriteLine("Hello");
            System.Console.WriteLine(input);
        }
    } 
} 
Program.cs 
namespace ConsoleApplication1 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            String a = new String('a',6); 
            a.BBB("測試一下"); 
        } 
    } 
}

注意了:C#擴展方法的聲明必須是靜態(tài)類和靜態(tài)方法,你看這里都標注了static就是這個原因微服,使用的時候無需靜態(tài)四濒。

namespace ConsoleApplication1 
{ 
    //類AAA就是包含擴展方法的類 必須為靜態(tài)
    static class AAA 
    { 
        //this只是一個編譯上的要求,作為一個提示來告訴編譯器此方法有可能作為擴展方法來使用
         //object是要擴展的類型职辨,也可以為其他 如:String
        //a就是參數內容了
        public static void BBB(this object a) 
        { 
            System.Console.WriteLine("Hello"); 
            //此處應該改為輸出傳入的參數a,否則沒意義
            //System.Console.WriteLine(a); 
        } 
    } 
} 
Program.cs 
namespace ConsoleApplication1 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            String a = new String('a',6); 
            //因String繼承Object盗蟆,所以可以使用BBB
            a.BBB(); //如果BBB()方法像上面那樣改了 就會輸出6個a
        } 
    } 
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市舒裤,隨后出現的幾起案子喳资,更是在濱河造成了極大的恐慌,老刑警劉巖腾供,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仆邓,死亡現場離奇詭異,居然都是意外死亡伴鳖,警方通過查閱死者的電腦和手機节值,發(fā)現死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來榜聂,“玉大人搞疗,你說我怎么就攤上這事⌒胨粒” “怎么了匿乃?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長豌汇。 經常有香客問我幢炸,道長,這世上最難降的妖魔是什么拒贱? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任宛徊,我火速辦了婚禮佛嬉,結果婚禮上,老公的妹妹穿的比我還像新娘闸天。我一直安慰自己巷燥,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布号枕。 她就那樣靜靜地躺著缰揪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪葱淳。 梳的紋絲不亂的頭發(fā)上钝腺,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機與錄音赞厕,去河邊找鬼艳狐。 笑死,一個胖子當著我的面吹牛皿桑,可吹牛的內容都是我干的毫目。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼诲侮,長吁一口氣:“原來是場噩夢啊……” “哼镀虐!你這毒婦竟也來了?” 一聲冷哼從身側響起沟绪,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤刮便,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后绽慈,有當地人在樹林里發(fā)現了一具尸體恨旱,經...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年坝疼,在試婚紗的時候發(fā)現自己被綠了搜贤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡钝凶,死狀恐怖仪芒,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情腿椎,我是刑警寧澤桌硫,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布夭咬,位于F島的核電站啃炸,受9級特大地震影響,放射性物質發(fā)生泄漏卓舵。R本人自食惡果不足惜南用,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧裹虫,春花似錦肿嘲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至匣屡,卻和暖如春封救,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背捣作。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工誉结, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人券躁。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓惩坑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親也拜。 傳聞我的和親對象是個殘疾皇子以舒,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法慢哈,內部類的語法稀轨,繼承相關的語法,異常的語法岸军,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理奋刽,服務發(fā)現,斷路器艰赞,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 前言 人生苦多佣谐,快來 Kotlin ,快速學習Kotlin方妖! 什么是Kotlin狭魂? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,163評論 9 118
  • 9月12日咖啡冥想 將我今天學習的點滴體會分享如下,老師說能學到多少就分享多少党觅,將我力所能理解分享給大家雌澄,有不對之...
  • 昨天回家的時候看見院子里老爹在晾著的靈芝,又到了每年可以采野生靈芝的季節(jié)杯瞻。 吃晚飯之前老爹從山上回來镐牺,標志性的老太...
    花手鞠閱讀 379評論 0 0