<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    夢(mèng)幻之旅

    DEBUG - 天道酬勤

       :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評(píng)論 :: 0 Trackbacks
    /*
     * 由 SharpDevelop 創(chuàng)建。
     * 用戶(hù): huy
     * 日期: 2010-3-6
     * 時(shí)間: 23:30
    */


    using System;
    using System.Threading;
    delegate void EatDelegate(string food);
    class MyDelegate
    {
        
    static void zsEat(string food)
        
    {
            Console.WriteLine(
    "張三"+food);
        }

        
        
    static void Main()
        
    {
            EatDelegate zs 
    = new EatDelegate(zsEat);
            zs(
    "西瓜");
            Thread.Sleep(
    5000);
        }

    }



    當(dāng)我們需要把方法做為參數(shù)傳遞給其他方法的時(shí)候,就需要使用委托。

    因?yàn)橛袝r(shí)候,我們要操作的對(duì)象,不是針對(duì)數(shù)據(jù)進(jìn)行的,而是針對(duì)某個(gè)方法進(jìn)行的操作。

           我們還是來(lái)以代碼入手

     

    Code
    using System;
    namespace gosoa.com.cn
    {
        public class test
        {
            public delegate string GetAString();
            public static void Main()
            {
                int x=10;
                GetAString firstString=new GetAString(x.ToString);
                Console.WriteLine(firstString());
                //上句和下面這句類(lèi)似。
                //Console.WriteLine(x.ToString());
            }
        }
    }

    在上例中,public delegate string GetAString(); 就是聲明了一個(gè)委托(delegate),其語(yǔ)法和方法的定義類(lèi)似,只是沒(méi)有方法體,前面要加上關(guān)鍵字 delegate 。定義一個(gè)委托,基本上是定義一個(gè)新類(lèi),所以,可以在任何定義類(lèi)的地方,定義委托。

    注意,在C#中,委托總是自帶一個(gè)有參數(shù)的構(gòu)造函數(shù),這就是為什么在上例中,GetAString firstString=new GetAString(x.ToString); 通過(guò)這句初始化一個(gè)新的delegate的時(shí)候,給傳遞了一個(gè)x.ToString 方法。但,在定義delegate的時(shí)候,卻沒(méi)有定義參數(shù)。

          

    在看另一個(gè)例子之前,我們先來(lái)了解下匿名方法。

           匿名方法的使用,我們看個(gè)例子

    Code
    using System;
    namespace gosoa.com.cn
    {
        public class test
        {
            delegate string GetUrl(string val);
            static void Main(string [] args)
            {
                string domin="asaadsad";
                GetUrl url=delegate(string  param)
                {
                     param="http://"+param;
                     return param;
                };
                Console.WriteLine(url(domin));
            }
        }
    }

     

    本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/sendling/archive/2009/03/02/3948561.aspx

    posted on 2010-03-06 23:42 HUIKK 閱讀(274) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): C#
    主站蜘蛛池模板: 国产国产人免费人成成免视频 | 国产AⅤ无码专区亚洲AV| 曰批视频免费40分钟试看天天| 老湿机一区午夜精品免费福利| 亚洲国产模特在线播放| 亚洲午夜福利在线观看| 免费无码一区二区三区蜜桃大| 免费A级毛片av无码| yellow视频免费看| 国产亚洲美女精品久久久久| wwwxxx亚洲| 亚洲an日韩专区在线| 久久精品国产亚洲av麻豆色欲| 亚洲色偷拍另类无码专区| 免费一级毛片不卡不收费| 午夜网站免费版在线观看| 在线观看H网址免费入口| 91青青青国产在观免费影视| 两个人日本WWW免费版| 一级一级一级毛片免费毛片| 香蕉视频亚洲一级| 精品国产亚洲第一区二区三区| 中文字幕在线观看亚洲日韩| 亚洲中文字幕在线无码一区二区 | 四虎最新永久免费视频| 亚洲精品在线免费观看| 日韩电影免费在线观看中文字幕 | 亚洲国产成人久久精品动漫| 亚洲开心婷婷中文字幕| 国产亚洲综合色就色| 亚洲国产精品久久久天堂| 亚洲香蕉网久久综合影视| 亚洲中久无码永久在线观看同| 亚洲国产精品成人一区| 亚洲AV中文无码乱人伦| 亚洲人成无码网站久久99热国产| 国产精品亚洲产品一区二区三区| 久久久久亚洲AV无码专区网站| 国产成人亚洲精品影院| 亚洲综合无码AV一区二区| 亚洲无av在线中文字幕|