• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 224  文章 - 41  trackbacks - 0
            <2010年5月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            享受編程

            常用鏈接

            留言簿(11)

            隨筆分類(159)

            隨筆檔案(224)

            文章分類(2)

            文章檔案(4)

            經典c++博客

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            原文地址:http://www.cnblogs.com/QinBaoBei/archive/2010/03/01/1675637.html

            早在 C# 2.0 中,便出現了 Partial ,不過那是的 Partial 只能使用在類上,

            也就是分部類,對于分部類,實用之處還是比較多的,

            因為 Partial Method 是建立在 Partial Class 的基礎之上的,

            所以在這里先介紹一下 Partial Class 的使用,

            然后再一并介紹 Partial Method ,

            對于 Partial Class ,其實也就是將一個類拆分成幾個分部類,

            并且這些分部類可以寫在不同的類文件 .cs 中,

            比如在一個.cs 中寫完這個 Class 的第一部分,

            然后再在另外一個 .cs 中完成這個 Class 的第二部分,

            再在另外一個 .cs 中完成這個 Class 的第三部分,

            ………………..

            這個就是分部類了。

            接下來看個示例便一清二楚了,


            由上面的項目視圖可以看出,我已經將一個類分成了四個部分,

            然后再在 Demo__3 的 Code-Behind 中對這個類進行實例化并且訪問,

            先來看看各個 Partial Class 中的代碼吧(非常簡單的)

            這個是 Demo__3__Use__PartialMethodOne.cs

            public partial class Demo__3__Use__PartialMethod
            {
                private string name = "";

                public void MethodOne()
                {
                    name += "你來到了 MethodOne 方法<br/>";
                }

                public string GetName()
                {
                    MethodOne();
                    MethodTwo();
                    MethodThree();
                    MethodFour();
                    return name;
                }
            }

            這個是 Demo__3__Use__PartialMethodTwo.cs

            public partial class Demo__3__Use__PartialMethod
            {
                public void MethodTwo()
                {
                    name += "你來到了 MethodTwo 方法<br/>";
                }
            }

            這個是 Demo__3__Use__PartialMethodThree.cs

            public partial class Demo__3__Use__PartialMethod
            {
                public void MethodThree()
                {
                    name += "你來到了 MethodThree 方法<br/>";
                }
            }

            這個是 Demo__3__Use__PartialMethodFour.cs

            public partial class Demo__3__Use__PartialMethod
            {
                public void MethodFour()
                {
                    name += "你來到了 MethodFour 方法<br/>";
                }
            }

            然后就只要看一下 Demo__3.aspx 的 Code-Behind 了

            using System;

            namespace CSharpLanguage
            {
                public partial class Demo__3 : System.Web.UI.Page
                {
                    protected void Page_Load(object sender, EventArgs e)
                    {
                        Demo__3__Use__PartialMethod partialMethod =
                                    new Demo__3__Use__PartialMethod();

                        Response.Write(partialMethod.GetName());
                    }
                }
            }

            以上就是整個 Demo 的所有代碼了,

            再看一下使用 Partial Class 后的結果吧

            完成了 Partial Class 的解釋,那么便開始 Partial Method 了,

            事實上,Partial Method 是完全依賴于 Partial Class 實現的,

            Partial Method 也就是分部方法了,

            分部方法也就是把一個完整的方法拆分成兩個部分,

            即方法的定義和方法的實現,

            然后再進一步的就可以將這兩個部分放在不同的.cs中了,

            比如我有一個方法,

            我在這個分部類中完成這個方法定義,

            然后我又在另外的一個分部類中完成這個方法的實現,

            這個就是分部方法了,

            很明顯的,分部方法時依賴于分部類的,

            因為你必須在這個分部類中完成前面的方法定義,

            再在另外的一個分部類中完成后面的方法實現,

            所以,可以很明顯的看出,沒有 Partial Class 就不可能有 Partial Method ,

            不過,從上面介紹 Partial Class 的例子中可以看出,

            Partial Class 也是比較容易的,所以 Partial Method 也理所當然不會難了,

            Demo__4__Use__PartialOne.cs

            public partial class Demo__4__Use__Partial
            {
                private string name = "";
                partial void UseName();
                public string GetName()
                {
                    UseName();
                    return name;
                }
            }

            Demo__4__Use__PartialTwo.cs

            public partial class Demo__4__Use__Partial
            {
                partial void UseName()
                {
                    name += "這里使用了 Partial Method 來操縱 name";
                }
            }

            Demo__4.aspx 的 Code-Behind 中的代碼

            using System;

            namespace CSharpLanguage
            {
                public partial class Demo__4 : System.Web.UI.Page
                {
                    protected void Page_Load(object sender, EventArgs e)
                    {
                        Demo__4__Use__Partial partialMethod =
                                 new Demo__4__Use__Partial();
                        Response.Write(partialMethod.GetName());
                    }
                }
            }

            在看一下結果

            上面雖然是完整的使用了一次 Partial Class 和 Partial Method ,

            但是需要注意的是,使用 Partial Method 還是有諸多限制的,

            首先是在聲明 Partial Method 時,必須使用到關鍵字 Partial 來聲明,

            然后就是在使用 Partial Method 時,必須經 Partial Class 才能使用,

            然后還有使用 Partial Method 時,其在類中的地位只能是 private ,

            即是私有成員,在類外部是無法對 Partial Method 進行訪問的,

            還有很重要的一點就是 Partial Method 不能夠有返回值,也就是只能為 void。

                                                                         2010—2—01

            posted on 2010-08-22 23:12 漂漂 閱讀(444) 評論(0)  編輯 收藏 引用 所屬分類: c#開發
            国产成年无码久久久久毛片| 久久久久亚洲AV无码麻豆| 99久久精品国产一区二区三区| 亚洲国产精品久久66| 色综合合久久天天给综看| 狠狠色婷婷久久一区二区三区 | 91精品国产高清久久久久久io| 久久久久国产一级毛片高清版| 久久久久久久综合综合狠狠| 亚洲精品高清国产一线久久| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 亚洲日本va午夜中文字幕久久| 久久狠狠高潮亚洲精品| 久久亚洲精品国产亚洲老地址| 国产午夜精品久久久久免费视| 青青久久精品国产免费看| 天天爽天天狠久久久综合麻豆| 欧美成a人片免费看久久| 国产午夜福利精品久久2021| 亚洲AV乱码久久精品蜜桃| 国产精品久久久久久久app| 久久免费视频观看| 国内精品久久久久| 久久精品无码一区二区无码| 久久久久久久免费视频| 欧美性猛交xxxx免费看久久久| 品成人欧美大片久久国产欧美...| 国产一区二区精品久久| 久久精品国产亚洲av麻豆色欲| 伊人色综合久久天天人手人婷| 中文字幕无码久久人妻| 亚洲午夜精品久久久久久app| 久久99精品久久久久久9蜜桃| 激情五月综合综合久久69| 999久久久免费国产精品播放| 欧美综合天天夜夜久久| 亚洲一区二区三区日本久久九| 国产激情久久久久影院| 九九久久精品国产| 亚洲午夜无码AV毛片久久| 久久国产欧美日韩精品|