码迷,mamicode.com
首页 > 其他好文 > 详细

C# delegate (001)

时间:2014-05-09 18:06:54      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:tar   ext   c   int   string   set   

背景:一直不是很理解C#中的委托,也不是很清楚委托应用的业务场景,有可能和自己一直做B/S有关

业务描述:C/S,父窗口打开子窗口,子窗口把自己文本框里的值传个父窗口的文本框.

子窗体代码:

//定义委托
       public delegate void DelegateSetText(string returnValue);
       //生明变量
       public DelegateSetText SetText;
       private void btnClose_Click(object sender, EventArgs e)
       {
          //调用
          SetText(this.txtReturn.Text.Trim());
          this.Close();
       }

父窗体:

 private void btnOpen_Click(object sender, EventArgs e)
        {
            frmChild fc = new frmChild();
            //委托调用那个方法
            fc.SetText += new frmChild.DelegateSetText(SetValue);
            fc.Show();
        }

        public void SetValue(string strValue)
        {
            this.txtName.Text = strValue;
        }

写完之后有点明白了.

 

委托的调用步骤(3步):

//定义委托

public delegate int DelegateAdd(int a,int b);

//声明变量
        public DelegateAdd AddMax = new DelegateAdd(Max);
        public DelegateAdd AddMin = new DelegateAdd(Min);
        protected void Button1_Click(object sender, EventArgs e)
        {
           //调用

    Response.Write(AddMax(1, 2).ToString());
           Response.Write(AddMin(1, 2).ToString()) ;
        }

        private static int Max(int a, int b)
        {
            return 1;
        }

        private static int Min(int a, int b)
        {
            return 2;
        }

C# delegate (001),布布扣,bubuko.com

C# delegate (001)

标签:tar   ext   c   int   string   set   

原文地址:http://www.cnblogs.com/sportdog/p/3708511.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!