本文主要是介绍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 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;
}
}
这篇关于C# 事件委托案例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!