C#队列中添加元素时自动触发事件
在C#中,我设计了一个队列,串口读取到的数组将传到队列中,现在想自定义一个事件,在队列中元素更新时自动触发该事件,请教各位该怎样编写?...
在C#中,我设计了一个队列,串口读取到的数组将传到队列中,现在想自定义一个事件,在队列中元素更新时自动触发该事件,请教各位该怎样编写?
展开
2个回答
展开全部
我C#也不是很熟,说说我看法吧, 自动触发? 只能写代码引发吧,当你更新数据时引发一个自定义事件就好, 外面收到事件再相应处理。给你一个自定义事件的代码吧
//定义一个委托类型
delegate void deleGate1(string s);
//发生事件的类************************************************
class MyClass
{
//定义一个事件
public event deleGate1 updataEvent;
//执行代码 更新队列后引发事件
public void run()
{
//执行您的方法………………
//引发事件:
updataEvent("大家注意!队列已经更新了……");
}
}
//事件处理类***************************************************
class EventDo
{
//事件处理方法编写
public void Run(string s)
{
MessageBox.Show(s, "接收到事件。");
}
//构造函数中注册事件处理方法
public EventDo(MyClass o)
{
o.updataEvent += Run;
}
}
//调用方法*****************************************************
//实例化事件引发对象,和事件处理对象:
MyClass o = new MyClass();
EventDo ed = new EventDo(o);
//程序中不论是在什么地方执行,您只要运行了这个方法,事件就被引发
o.run(); //一般情况是在事件引发类中执行,这里只是为发示范。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询