using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace 事件_基本使用_
{
public class Person
{
private int _currentBp=120;
private int _maxBp;
public Person(int maxBp)
{
this._maxBp = maxBp;
}
public event callEventHandler callEvent;
public void increaseBp()
{
this._currentBp += 5;
if (this._currentBp > this._maxBp)
{
if (this.callEvent != null)
this.callEvent(); //为什么一直是null
}
}
} public delegate void callEventHandler(); public class Wife
{
private Person _person;
public Wife(Person person)
{
this._person = person;
this._person.callEvent+=new callEventHandler( this.savHusband);
}
public void savHusband()
{
Console.WriteLine("夫人救丈夫中");
}
} public class Stranger
{
private Person _person;
public Stranger(Person person)
{
this._person = person;
this._person.callEvent+=new callEventHandler( this.call120);
}
public void call120()
{
Console.WriteLine("Call 120");
}
}
}
static void Main(string[] args)
{
SaveHusband();
Console.ReadKey();
}
static void SaveHusband()
{
Person person = new Person(130);
person.increaseBp();
person.increaseBp();
person.increaseBp();
Wife wife = new Wife(person);
Stranger stranger = new Stranger(person);
}
刚复习事件,然后做了这题,
思路是,先定义事件的委托,
然后在类的内部定义事件,
然后在一定条件下触发事件
最后调试。
不知道哪里错了,大家帮忙看看。
解决方案 »
- C# Treeview控件里使用ContextMenuStrip控件
- 如何用一张图片代替最小化操作
- 如何开服务器的1433端口。我申请的花生壳域名为什么不能远程连接sqlserver服务器。我用的字符串:
- 问个基础问题,关于线程
- 在线等,一个关于读取CSV文件的问题,感觉基本没有方法了
- 求一提取链接地址<a xxx>xxx</a>XXX<div>xxx</div>的表达式,100分相送
- C++代码转成C#的问题
- 一个简单的菜鸟问题(快速100)
- 通过WebClient下载东西,怎么知道下载完成了?有什么好的方法,谢谢
- vs2010里生成父类方法的快捷键是多少?
- C#重载和覆盖问题,求高手~~~~~~~~~
- 关于一个可视化操作平台的设计!(页面的可视化)
{
Person person = new Person(130);
person.increaseBp();
person.increaseBp();
person.increaseBp();
Wife wife = new Wife(person);
Stranger stranger = new Stranger(person);
}这里应该改成static void SaveHusband()
{
Person person = new Person(130);
Wife wife = new Wife(person);
Stranger stranger = new Stranger(person);
person.increaseBp();
person.increaseBp();
person.increaseBp();
}太大意了
static void SaveHusband()
{
Person person = new Person(130);
Wife wife = new Wife(person);
Stranger stranger = new Stranger(person);
person.increaseBp();
person.increaseBp();
person.increaseBp();
}
这个函数里面内容有问题, 得先实例前面的对象,再改变条件满足触发条件 。