关于委托的一点理解。

委托传入的是方法,只写方法名。通俗的讲,可以把委托看成来执行方法(函数)的一个东西。
,参数个数、类型、顺序完全一致,并且返回值必须一致。
实例化委托就是将其指向某个方法,即调用委托的构造函数,并将相关联的方法作为参数传递。
如果委托类型是void的,传入的方法应该也是void的




using System;

delegate int Operand(int a, int b); //第一步:委托声明
class Class1
{
static void Main(string[]args)
{
    Class1 c1 = new Class1();
    Operand ope = new Operand(c1.Add);
    //委托实例化,注意参数是要使用的参数名,且不带括号
    Console.WriteLine(ope(10, 20)); //委托调用,调用委托的方法用委托的对象加参数
    Console.ReadLine();
}
//定义一个方法,求两个加数的和
private int Add(int num1, int num2)
{
    return (num1 + num2);
}






关于委托传递两个值的。
form1


string sdt,edt;


private void btnOK(object sender,EventArgs args)
{
form2 fr2=new form2();
fr2.GT=setTime;
fr2.ShowDialog();
lbl1.text=sdt;
lbl2.text=edt;
}
private void setTime(string _sdt,string _edt)
{
sdt=_sdt;
edt=_edt;
}




form2


public delegate void getTime(string sdt,string edt);//声明委托
public getTime GT;//声明委托成员


private void btnSet(object sender,EventArgs e)
{
GT(txtBox1.text,txtBox2.text);//获取文本框里面的两个字符串
this.Close();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值