• <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
            <2008年11月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            享受編程

            常用鏈接

            留言簿(11)

            隨筆分類(159)

            隨筆檔案(224)

            文章分類(2)

            文章檔案(4)

            經(jīng)典c++博客

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

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

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

            也就是分部類,對(duì)于分部類,實(shí)用之處還是比較多的,

            因?yàn)?Partial Method 是建立在 Partial Class 的基礎(chǔ)之上的,

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

            然后再一并介紹 Partial Method ,

            對(duì)于 Partial Class ,其實(shí)也就是將一個(gè)類拆分成幾個(gè)分部類,

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

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

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

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

            ………………..

            這個(gè)就是分部類了。

            接下來(lái)看個(gè)示例便一清二楚了,


            由上面的項(xiàng)目視圖可以看出,我已經(jīng)將一個(gè)類分成了四個(gè)部分,

            然后再在 Demo__3 的 Code-Behind 中對(duì)這個(gè)類進(jìn)行實(shí)例化并且訪問,

            先來(lái)看看各個(gè) Partial Class 中的代碼吧(非常簡(jiǎn)單的)

            這個(gè)是 Demo__3__Use__PartialMethodOne.cs

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

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

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

            這個(gè)是 Demo__3__Use__PartialMethodTwo.cs

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

            這個(gè)是 Demo__3__Use__PartialMethodThree.cs

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

            這個(gè)是 Demo__3__Use__PartialMethodFour.cs

            public partial class Demo__3__Use__PartialMethod
            {
                public void MethodFour()
                {
                    name += "你來(lái)到了 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());
                    }
                }
            }

            以上就是整個(gè) Demo 的所有代碼了,

            再看一下使用 Partial Class 后的結(jié)果吧

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

            事實(shí)上,Partial Method 是完全依賴于 Partial Class 實(shí)現(xiàn)的,

            Partial Method 也就是分部方法了,

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

            即方法的定義和方法的實(shí)現(xiàn),

            然后再進(jìn)一步的就可以將這兩個(gè)部分放在不同的.cs中了,

            比如我有一個(gè)方法,

            我在這個(gè)分部類中完成這個(gè)方法定義,

            然后我又在另外的一個(gè)分部類中完成這個(gè)方法的實(shí)現(xiàn),

            這個(gè)就是分部方法了,

            很明顯的,分部方法時(shí)依賴于分部類的,

            因?yàn)槟惚仨氃谶@個(gè)分部類中完成前面的方法定義,

            再在另外的一個(gè)分部類中完成后面的方法實(shí)現(xiàn),

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

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

            Partial Class 也是比較容易的,所以 Partial Method 也理所當(dāng)然不會(huì)難了,

            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 來(lái)操縱 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());
                    }
                }
            }

            在看一下結(jié)果

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

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

            首先是在聲明 Partial Method 時(shí),必須使用到關(guān)鍵字 Partial 來(lái)聲明,

            然后就是在使用 Partial Method 時(shí),必須經(jīng) Partial Class 才能使用,

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

            即是私有成員,在類外部是無(wú)法對(duì) Partial Method 進(jìn)行訪問的,

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

                                                                         2010—2—01

            posted on 2010-08-22 23:12 漂漂 閱讀(430) 評(píng)論(0)  編輯 收藏 引用 所屬分類: c#開發(fā)
            中文字幕无码免费久久| 国产精品一久久香蕉国产线看| 国产精品无码久久综合网| 99久久夜色精品国产网站| 一级女性全黄久久生活片免费 | 久久午夜夜伦鲁鲁片免费无码影视| 精品久久久一二三区| 俺来也俺去啦久久综合网| 久久久久久无码国产精品中文字幕| 亚洲国产精品综合久久网络| 久久精品aⅴ无码中文字字幕重口| 亚洲一本综合久久| 一本色道久久88—综合亚洲精品| 久久久久久亚洲AV无码专区| 欧美日韩成人精品久久久免费看| jizzjizz国产精品久久| 中文成人久久久久影院免费观看| 日本久久久精品中文字幕| 亚洲日韩中文无码久久| 亚洲一区精品伊人久久伊人| 久久这里只有精品久久| 无码国产69精品久久久久网站| 色综合久久综精品| 精品久久久久久国产潘金莲| 少妇人妻综合久久中文字幕| 久久久久久无码国产精品中文字幕| 99精品久久精品一区二区| 久久超碰97人人做人人爱| 色青青草原桃花久久综合| 久久国产福利免费| 99久久精品免费观看国产| 国内精品久久久久| 久久久久久国产精品免费无码| 亚洲精品无码久久久久sm| 久久精品一本到99热免费| 噜噜噜色噜噜噜久久| 狠狠色丁香婷婷久久综合五月| 亚洲国产精品综合久久一线 | 久久伊人五月天论坛| 99久久精品费精品国产 | 久久精品国产亚洲av瑜伽|