cevent.cs
来自「Vc.Net入门与提高源码」· CS 代码 · 共 59 行
CS
59 行
namespace CSEvent
{
using System;
/// <summary>
/// Summary description for CEvent.
/// </summary>
public delegate void MyEventHandler(int i);
public class CEvent
{
public event MyEventHandler CMyEvent;
public void Fire(int i)
{
if (CMyEvent != null)
{
CMyEvent(i);
}
}
};
public class CR2
{
public void H1(int i) { System.Console.WriteLine("CR2::H1 "+ i); }
public void H2(int i) { System.Console.WriteLine("CR2::H2 "+ i); }
public void H3(int i, double j) { System.Console.WriteLine("CR2::H3 "+ i + ": " + j); }
public void H4(int i, double j) { System.Console.WriteLine("CR2::H4 "+ i + ": " + j); }
public void Hook(CEvent p, Event p2)
{
p.CMyEvent += new MyEventHandler(H1);
p.CMyEvent += new MyEventHandler(H2);
p2.MyEvent += new MyDelegate(H3);
p2.MyEvent += new MyDelegate(H4);
}
public void Unhook(CEvent p, Event p2)
{
p.CMyEvent -= new MyEventHandler(H1);
p.CMyEvent -= new MyEventHandler(H2);
p2.MyEvent -= new MyDelegate(H3);
p2.MyEvent -= new MyDelegate(H4);
}
public static void Main()
{
CEvent pS = new CEvent();
Event pS2 = new Event();
CR2 pR = new CR2();
pR.Hook(pS, pS2);
pS.Fire(17);
pS2.Fire_MyEvent(777, 3.141593);
pR.Unhook(pS, pS2);
pS.Fire(13);
pS2.Fire_MyEvent(333, 3.141593);
}
};
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?