using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleAppEventPro
{
//0.事件触发类
public class mm
{
//1.定义事件参数类
public class nn : EventArgs
{
public readonly char aa;
public nn(char Inputaa)
{
aa = Inputaa;
}
}
//2.定义委托delegate
public delegate void weituo(Object sender,nn e);
//3.用Event关键字声明事件对象
public event weituo TestEvent;
//4.事件触发方法
protected virtual void OnTestEvent(nn e)
{
if (TestEvent != null)
{
TestEvent(this, e);
}
}
//5.引发方法
public void RaiseEvent(char aa)
{
nn e = new nn(aa);
OnTestEvent(e);
}
}
//侦听事件的类
public class zz
{
//1.定义处理事件的方法,他与声明事件的delegate具有相同的参数和返回值类型——》事件处理方法
public void KeyPressed(object sender,mm.nn e)
{
Console.WriteLine("发送者为:{0},所按的键为:{1}",sender,e.aa);
}
//2.订阅事件
public void Subscribe(mm eventSource)
{
eventSource.TestEvent += new mm.weituo(KeyPressed);
}
//3.取消订阅
public void UnSubscribe(mm eventSource)
{
eventSource.TestEvent -= new mm.weituo(KeyPressed);
}
}
public class Test
{
public static void Main()
{
//创建事件源对象
mm es = new mm();
//创建侦听对象
zz el = new zz();
//订阅事件
Console.WriteLine("开始订阅事件");
el.Subscribe(es);
//引发事件
Console.WriteLine("输入一个字符,再按Enter键");
string s = Console.ReadLine();
es.RaiseEvent(s.ToCharArray()[0]);
//取消订阅事件
Console.WriteLine("开始取消订阅事件!");
el.UnSubscribe(es);
//引发事件
Console.WriteLine("输入一个字符,再按Enter键");
s = Console.ReadLine();
es.RaiseEvent(s.ToCharArray()[0]);
Console.ReadKey();
}
}
}
分享到:
相关推荐
C#180滚动条示例 源代码
C# ShellExecute 方法的各种调用的示例源代码
C# HELLOW示例,YIELD示例,XML注释示例,不安全代码示例,OLEDB示例,版本控制示例,线程示例,数组示例,属性示例,可空类型示例,事件示例,代理示例,类库示例,COM平台示例,安全性示例,结构示例,特性示例,运算符重载示例,命...
C#.NET,集合示例源代码C#.NET,集合示例源代码C#.NET,集合示例源代码
注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(5-8)、明日科技《C#示例源代码》(9-12)、明日科技《C#...
注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(5-8)、明日科技《C#示例源代码》(9-12)、明日科技《C#...
注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(5-8)、明日科技《C#示例源代码》(9-12)、明日科技《C#...
C#版折叠菜单示例源代码
注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(5-8)、明日科技《C#示例源代码》(9-12)、明日科技《C#...
包含c#大部分的功能的示例。从基础到网络、互操作……。使用visualstudio打开就可以。
水晶报表入门示例源代码(C# WinForm)
郭德纲的歌的歌的歌的个哥哥哥哥哥哥哥哥个哥哥哥哥哥哥哥哥
C#示例源代码,配合教学课程使用,免费下载!
C#文本示例源代码只有一个文件100个例子请仔细看看。
C#入门经典第五版示例源代码
MVC文件上传示例源代码
C#文本加密解密算法示例源代码,公六章,100个例子
C#-串口示例demo源代码-SerialPortHelper.rar,C#-串口示例demo源代码-SerialPortHelper.rar,C#-串口示例demo源代码-SerialPortHelper.rar
4.C#文本加密解密算法示例源代码.rar 5.C#在开机时自动启动程序.rar 6.C#自定义皮肤.rar 7.CS聊天程序.rar 8.WPF模拟Windows+7气象源码.rar 9.玻璃按钮.rar 10.导出Excel格式.rar 11.导出excel列表.rar 12.动态创建...