编写一个程序说明事件的定义及使用方法
2个回答
2014-05-22 · 知道合伙人IT服务行家
关注
展开全部
C#中事件的定义和使用C#中事件的定义和使用
事件的声明和使用与代理有很密切的关系,事件其实是一个或多个方法的代理,当对象的某个状态发生了变化,代理会被自动调用,从而代理的方法就被自动执行。
声明和使用一个事件需要如下步骤:
1.创建一个代理。
2.在类的内部利用event关键字声明事件,并且在类中定义调用事件的方法,也可以定义一个处理事件消息的方法。
声明一个事件的基本形式有两种:
修饰符 event 类型 标识符
修饰符 event 类型 标识符{get{};set{};}
其中:
修饰符是指C#语言的访问修饰符;类型是在声明使用事件的第一步中创建的代理;标识符是一个C#语言的合法标识符,这个标识符被用来在程序中唯一确定声明的事件;在声明事件的第二种形式中具有和类的属性类似的get和set部分,事件的get和set部分意义、使用方法均与属性类似。
3.声明若干个方法与事件关联。将事件同方法进行关联的过程类似于代理对象引用方法的过程。这些方法就是用来处理事件的方法。
4.最后,在程序中使用事件。使用事件需要根据事件的定义或者直接调用事件已经定义好的调用事件的方法,或者通过系统消息来自动触发事件。
下面,给出一个简单的例子来说明事件的声明和使用。
using System;
//声明一个代理
public delegate void MyDelegate(object o);
//声明一个类,在类的内部声明事件
public class MyClass
{
//利用上面的代理声明一个事件
public event MyDelegate MyEvent;
//定义一个方法调用事件
public void FireAway(object o);
{
if(MyEvent!=null)
{
//调用处理事件的方法
MyEvent(o);
}
}
}
public class MainClass
{
//创建一个处理事件的方法
private static void EventFunction(object o)
{
Console.WriteLine("发生某种事件:",o);
}
//主方法
public static void Main()
{
//声明一个对象
MyClass m = new MyClass();
//将处理事件的方法和事件关联,其形式类似使用多重代理
m.MyEvent += new MyDelegate(EventFunction);
//触发事件
m.FireAway(m);
}
}
事件的声明和使用与代理有很密切的关系,事件其实是一个或多个方法的代理,当对象的某个状态发生了变化,代理会被自动调用,从而代理的方法就被自动执行。
声明和使用一个事件需要如下步骤:
1.创建一个代理。
2.在类的内部利用event关键字声明事件,并且在类中定义调用事件的方法,也可以定义一个处理事件消息的方法。
声明一个事件的基本形式有两种:
修饰符 event 类型 标识符
修饰符 event 类型 标识符{get{};set{};}
其中:
修饰符是指C#语言的访问修饰符;类型是在声明使用事件的第一步中创建的代理;标识符是一个C#语言的合法标识符,这个标识符被用来在程序中唯一确定声明的事件;在声明事件的第二种形式中具有和类的属性类似的get和set部分,事件的get和set部分意义、使用方法均与属性类似。
3.声明若干个方法与事件关联。将事件同方法进行关联的过程类似于代理对象引用方法的过程。这些方法就是用来处理事件的方法。
4.最后,在程序中使用事件。使用事件需要根据事件的定义或者直接调用事件已经定义好的调用事件的方法,或者通过系统消息来自动触发事件。
下面,给出一个简单的例子来说明事件的声明和使用。
using System;
//声明一个代理
public delegate void MyDelegate(object o);
//声明一个类,在类的内部声明事件
public class MyClass
{
//利用上面的代理声明一个事件
public event MyDelegate MyEvent;
//定义一个方法调用事件
public void FireAway(object o);
{
if(MyEvent!=null)
{
//调用处理事件的方法
MyEvent(o);
}
}
}
public class MainClass
{
//创建一个处理事件的方法
private static void EventFunction(object o)
{
Console.WriteLine("发生某种事件:",o);
}
//主方法
public static void Main()
{
//声明一个对象
MyClass m = new MyClass();
//将处理事件的方法和事件关联,其形式类似使用多重代理
m.MyEvent += new MyDelegate(EventFunction);
//触发事件
m.FireAway(m);
}
}
2014-06-14
展开全部
C#中事件的定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询