C# 事件委托案例
【摘要】 using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace TDelegate{ public delegate void MyHandler1(object sender, MyEventArgs e); public delegate void...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TDelegate
{
public delegate void MyHandler1(object sender, MyEventArgs e);
public delegate void MyHandler2(object sender, MyEventArgs e);
public class Program
{
public static void Main()
{
B b = new B();
A a = new A(b);
MyEventArgs e1 = new MyEventArgs();
MyEventArgs e2 = new MyEventArgs();
e1.m_id = "Event args for event 1";
e2.m_id = "Event args for event 2";
b.FireEvent1(e1);
b.FireEvent2(e2);
Console.ReadKey();
}
}
class A
{
public A(B b)
{
b.Event1 += new MyHandler1(OnHandler1);
b.Event2 += new MyHandler2(OnHandler2);
}
public const string m_id = "Class A";
public void OnHandler1(object sender, MyEventArgs e)
{
Console.WriteLine("I am in OnHandler1 and MyEventArgs is {0}", e.m_id);
}
public void OnHandler2(object sender, MyEventArgs e)
{
Console.WriteLine("I am in OnHandler2 and MyEventArgs is {0}", e.m_id);
}
}
class B
{
public event MyHandler1 Event1;
public event MyHandler2 Event2;
public void FireEvent1(MyEventArgs e)
{
if (Event1 != null)
{
Event1(this, e);
}
}
public void FireEvent2(MyEventArgs e)
{
if (Event2 != null)
{
Event2(this, e);
}
}
}
public class MyEventArgs
{
public string m_id;
}
}
文章来源: bugstack.blog.csdn.net,作者:Yao__Shun__Yu,版权归原作者所有,如需转载,请联系作者。
原文链接:bugstack.blog.csdn.net/article/details/17416985
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)