C#中的事件
来源:互联网 发布:中电科软件与硬件工资 编辑:程序博客网 时间:2024/04/30 15:15
C#中的事件集合了事件数据和引用订阅匹配的方法以及事件触发方式的集合,一般是一个类。
1.事件数据在C#中都必须继承EventArgs类
2.引用订阅匹配的方法都通过Delegate生命
3.触发方式一般都在时间内部类中自定义
4.事件一般包含在一个类中,这个类一般还有触发事件的方式。
5.事件订阅
6.事件使用
例如:
1.事件数据:
public class MyEventArgs : EventArgs
{
public string message;
public string Message
{
get
{
return message;
}
set
{
message = value;
}
}
public MyEventArgs(string str)
{
Message = str;
}
}
2.引用订阅匹配的方法
public delegate void MyDelegate(object sender,MyEventArgs e);
3.包含事件的类也即事件发布者
public class Publish
{
public event MyDelegate MyEvent;
public void RaiseEvent()
{
MyEventArgs e = new MyEventArgs("Hello Wolrd");
if (MyEvent != null)
{
MyEvent(this, e);
}
}
}
4.事件订阅者
public class Subscriber
{
private string id;
public Subscriber(string id, Publish publisher)
{
this.id = id;
publisher.MyEvent += new MyDelegate(publisher_MyEvent);
}
public void publisher_MyEvent(object sender, MyEventArgs e)
{
Console.WriteLine(id + "received this message:{0}", e.Message);
}
}
5.事件使用
class Program
{
static void Main(string[] args)
{
Publish pub = new Publish();
Subscriber sub1 = new Subscriber("sub1", pub);
Subscriber sub2 = new Subscriber("sub2", pub);
pub.RaiseEvent();
Console.WriteLine("Press Enter to close this window");
Console.ReadLine();
}
}
- C#中的事件
- C#中的事件
- C#中的事件
- C#中的事件!!
- C#中的事件触发
- C# 中的事件处理
- C#中的事件原理
- C# 中的事件处理
- C#中的事件
- C# 中的“事件”
- C#中的事件
- c#中的事件参数
- C#中的委托,事件
- C#中的触发事件
- C#中的事件代理
- 关于c#中的事件
- C#中的事件
- C#中的事件
- J2EE的十三个规范
- VS2008添加事件的时候,出现“无法执行添加/移除操作,因为代码元素“CXXXDlg”是只读的
- 常用脚本
- [Android Training视频系列]2.2 Pausing and Resuming an Activity
- Spring载入配置文件applicationContext.xml的几种方式
- C#中的事件
- 基于对象的编码加密方法
- android中获取package的versionCode和versionName
- 正则表达式
- 单源最短路径(Dijkstra算法)
- MySQL多IDC部署注意事项
- 简单的贪吃蛇游戏
- TableView代理方法详解(一)
- 如何实现符合物理定律的碰撞及弹开