摘要
委托是持有一个或多个方法的对象,当然正常情况下你不会想要执行一个对象,但委托与对像不同,可以执行委托,这时委托会执行他所持有的方法
如果用过c++,可以把委托看成一个类型安全的面向对象的c++函数指针
正文
对于委托,有两个字“回调”这是重点。
一个例子
delegate void DelNumber(int value);
void ShowLow(int value)
{
MessageBox.Show("低值" + value.ToString());
}
void ShowHigh(int value)
{
MessageBox.Show("高值" + value.ToString());
}
private void btnShow_Click(object sender, EventArgs e)
{
DelNumber delNumber;
Random random = new Random();
int value = random.Next(1, 99);
delNumber = value < 50 ? new DelNumber(ShowLow) : new DelNumber(ShowHigh);
delNumber(value);
}
声明流程
组合委托
委托可以使用额外的运算符来组合,这个运算符最终会创建一个新的委托
delegate void MyDel(string value);
void Print(string value)
{
MessageBox.Show("Print " + value);
}
void Show(string value)
{
MessageBox.Show("Show " + value);
}
private void btnShow_Click(object sender, EventArgs e)
{
MyDel del1 = new MyDel(Print);
MyDel del2 = new MyDel(Show);
MyDel del3 = del1 + del2;
del3("TEST");
}
页面更新:2024-04-20
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号