C# 委托使用场景
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# 委托使用场景,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1069字,纯文字阅读大概需要2分钟。
内容图文
![C# 委托使用场景](/upload/InfoBanner/zyjiaocheng/857/a1196e19aea346bfb86c6e3902b84dc7.jpg)
A1窗口打开B窗口,B窗口向A1窗口传值时使用到委托。只有A1打开B窗口时,可以直接在B调用A1中的(public)方法,这看不出委托的作用(前提是知道B窗口是A1窗口打开的)。
当有窗口A2也打开B窗口,同时需要B窗口返回值时,如果也在B中直接调用A2的(public)方法,就需要在B中判断是A1还是A2调用它,然后调用对应的窗口的方法来实现返回数据(前提是知道B窗口只被A1、A2调用)。
当打开B窗口的有n(未知)个时,显然直接调用父窗口的(public)方法这种做法已经不能实现数据反馈功能了。场景例如:B是下载窗口,下载完成时要向父窗口(A1、A2……)反馈数据。
委托代码例:
// 父窗口(A1):
private void button1_Click(object sender, EventArgs e)
{
B b = new B();
b.FeedBackEvent += new b.FeedBackHandler(DownLoad);
b.Show();
}
private void DownLoad(string msg)
{
……
}
// 子窗口(B):
public delegate void FeedBackHandler(string message);
public event FeedBackHandler FeedBackEvent;
private void button1_Click(object sender, EventArgs e)
{
string message = "下载完成";
this.FeedBackEvent(message);
}
这时,需要打开B窗口且需要返回数据的父窗口,可以通过注册B的委托(FeedBackEvent)来实现,且B窗口不用去关注是谁调用了自己
内容总结
以上是互联网集市为您收集整理的C# 委托使用场景全部内容,希望文章能够帮你解决C# 委托使用场景所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。