会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
且行且歌
http://www.cnblogs.com
事件
事件的调用
using
System;
namespace
ConsoleApplication3
{
public
delegate
void
EventHandle(
string
s);
class
ClassA
{
public
event
EventHandle myEvent;
public
void
Go()
{
myEvent(
"
事件被引发
"
);
//
此句触发myEvent事件,(myEvent得到“实例化”),从而调动myEvent上的方法b_myEvent
}
}
class
ClassB : ClassA
{
public
void
MyGo()
{
this
.Go();
//
this (本类)有继承得到的Go(),虽然是继承的,但是也是自己的
}
}
class
Class1
{
[STAThread]
static
void
Main(
string
[] args)
{
//
b有两个Go方法,确切地说是 一个Go()方法和一个MyGo()方法
ClassB b
=
new
ClassB();
//
ClassB 继承得到了 ClassA 中的“事件”myEvent 所以下面可以在b上调用myEvent
b.myEvent
+=
new
EventHandle(b_myEvent);
//
用b_myEvent方法挂载到委托上,此时并不会调用b_myEvent方法,只是把b_myEvent的指针地址传入EventHandle(delegate)
b.MyGo();
//
MyGo()去调用Go(),Go()触发myEvent事件
Console.ReadLine();
}
private
static
void
b_myEvent(
string
s)
{
Console.WriteLine(s);
}
}
}
posted on
2007-11-01 13:25
simhare
阅读(
177
) 评论(
0
)
收藏
举报
刷新页面
返回顶部
导航
博客园
首页
新随笔
联系
订阅
管理
公告