大家帮忙做一个c#实例用字段属性方法类事件来描述一个汽车比如说颜色会跑什么时候汽油用完等急用,谢谢大

来源:百度知道 编辑:UC知道 时间:2024/05/11 15:04:52

目录:

介绍委托和事件

声明事件(定义事件)

注册事件

实现事件

触发事件

为事件增加“添加/删除”方法

一 介绍委托和事件

事件是特殊化的委托,委托是事件的基础,所以在介绍事件之前先介绍一下委托。

委托:使用委托可以将方法应用(不是方法)封装在委托对象内,然后将委托对象传递给调用方法的代码,这样编译的时候代码就没有必要知道调用哪个方法。通过使用委托程序能够在运行时动态的调用不供的方法。

事件:事件是对象发送的消息,发送信号通知客户发生了操作。这个操作可能是由鼠标单击引起的,也可能是由某些其他的程序逻辑触发的。事件的发送方不需要知道那个对象或者方法接收它引发的事件,发送方只需知道在它和接收方之间存在的中介(Deletgate)

二. 声明事件(定义事件)

在GUI图形界面中的事件(单击按钮或者选择菜单等)是已经定义好的事件,所需要的就是注册事件。我们也可以自己定义声明事件,可以将自己定义的事件应用到程序的任何地方。事件和委托是分不开的,c# 中使用委托来声明事件。

如果在类里面声明事件,那么必须先声明该事件的委托类型,也可以使用一个事先已经声明好的委托类型。

下面是一个声明事件的例子:

using system;

public delegate void MenuHandler()//事先申明一个委托,也可以在类的内部声明委托类型

public class Menuitem //声明一个菜单项目的类

{

public event MenuHadler MenuSelection;// 声明一个事件并指定它的委托类型

string text ;//声明一个字符串

public MenuItem(string text) /