C#源码学习之---事件经典例子
来源:互联网 发布:即时聊天软件 编辑:程序博客网 时间:2024/05/04 08:24
源码下载:http://dl2.csdn.net/down4/20070910/10205102226.rar
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsAppEvents
...{
public delegate void MyEventHandle(object i_sender, object i_arg);
class Program
...{
static void Main(string[] args)
...{
Class3 m_runOject = new Class3();
m_runOject.OnError += new MyEventHandle(m_runOject_OnError);
m_runOject.OnSomeThingHappened += new MyEventHandle(m_runOject_OnSomeThingHappened);
m_runOject.Run();
Console.ReadKey();
}
private static void m_runOject_OnError(object i_sender, object i_arg)
...{
Console.WriteLine("Error in {0}, arg:{1}", i_sender, i_arg);
Console.WriteLine("object {0} will stop running.", i_sender);
((Class3)i_sender).Stop();
}
private static void m_runOject_OnSomeThingHappened(object i_sender, object i_arg)
...{
Console.WriteLine("Something happended in {0}, arg:{1}", i_sender, i_arg);
}
}
public class Class3
...{
public bool m_isStop = false;
public event MyEventHandle OnSomeThingHappened;
public event MyEventHandle OnError;
public Class3()
...{
}
public void Run()
...{
Random m_rand = new Random();
int m_randomNum = m_rand.Next();
while (!m_isStop)
...{
if (m_isStop) ...{ break; }
m_randomNum = m_rand.Next(100);
if (m_randomNum % 5 == 0)
...{
if (this.OnError != null)
...{
this.OnError(this, m_randomNum);
}
}
else
...{
if (this.OnSomeThingHappened != null)
...{
this.OnSomeThingHappened(this, m_randomNum);
}
}
}
}
public void Stop()
...{
m_isStop = true;
}
}
}
using System.Collections.Generic;
using System.Text;
namespace ConsAppEvents
...{
public delegate void MyEventHandle(object i_sender, object i_arg);
class Program
...{
static void Main(string[] args)
...{
Class3 m_runOject = new Class3();
m_runOject.OnError += new MyEventHandle(m_runOject_OnError);
m_runOject.OnSomeThingHappened += new MyEventHandle(m_runOject_OnSomeThingHappened);
m_runOject.Run();
Console.ReadKey();
}
private static void m_runOject_OnError(object i_sender, object i_arg)
...{
Console.WriteLine("Error in {0}, arg:{1}", i_sender, i_arg);
Console.WriteLine("object {0} will stop running.", i_sender);
((Class3)i_sender).Stop();
}
private static void m_runOject_OnSomeThingHappened(object i_sender, object i_arg)
...{
Console.WriteLine("Something happended in {0}, arg:{1}", i_sender, i_arg);
}
}
public class Class3
...{
public bool m_isStop = false;
public event MyEventHandle OnSomeThingHappened;
public event MyEventHandle OnError;
public Class3()
...{
}
public void Run()
...{
Random m_rand = new Random();
int m_randomNum = m_rand.Next();
while (!m_isStop)
...{
if (m_isStop) ...{ break; }
m_randomNum = m_rand.Next(100);
if (m_randomNum % 5 == 0)
...{
if (this.OnError != null)
...{
this.OnError(this, m_randomNum);
}
}
else
...{
if (this.OnSomeThingHappened != null)
...{
this.OnSomeThingHappened(this, m_randomNum);
}
}
}
}
public void Stop()
...{
m_isStop = true;
}
}
}
- C#源码学习之---事件经典例子
- C#事件-经典小例子
- C#事件-事件学习好例子
- 黑马程序员之c#程序学习笔记:c#程序经典例子学习总结
- C#源码学习之---事件驱动异步文件操作
- C#学习之事件
- c# 学习笔记之九 事件(event)的使用,一个简单例子揭示机理
- C#学习之生成事件
- c#学习笔记 - 《c#入门经典》 3.5练习5源码。
- C# 经典小例子1(基础语法学习)
- C# 经典小例子2(基础语法学习)
- C#事件例子
- jQuery监听事件经典例子
- C#学习之简单的WCF例子
- c#学习笔记之九 事件(event)的使用,一个简单的例子揭示其设计理念
- C#入门经典学习笔记之数据类型
- 小白自学C#之《C#.net_经典编程例子400个》实例001带历史信息的菜单 附自学源码
- Redis源码学习之【事件机制】
- Focus on Technology
- Linux那些事儿之我是Hub(19)八大重量级函数闪亮登场(三)
- 用GDB调试程序
- 【js】java-script 的面向对象特性参考
- Linux那些事儿之我是Hub(20)八大重量级函数闪亮登场(四)
- C#源码学习之---事件经典例子
- 【js】HTML网页数据访问技术漫谈
- 女友带给我的惊喜[超尴尬]
- C#远程访问Access数据库
- 让VB的IDE支持鼠标滚轮 (拷贝于朋友的qzone)
- MATLAB图像处理基本知识
- 操作系统虚拟化
- C#源码学习之---运算符的重载
- C# 将本地文件远程拷贝到其他电脑