首页 > 开发 > 综合 > 正文

C#数据报编程之测试程序

2024-07-21 02:17:36
字体:
来源:转载
供稿:网友


 

c#中自定义事件

c#语言中有77个关键字,其中delegate和event专门为c#中事件处理系统提供的。

delegate声明定义一种引用类型,该类型可用于将方法用特定的签名封装。委托实例封装静态方法或实例方法。委托大致类似于 c++ 中的函数指针;但是,委托是类型安全和可靠的。

event指定一个事件。在c#的类中存在以下成员:域(fields)、属性(properties)、方法(methods)、索引(indexs)、事件(events),其中事件(events)成员就是用来声明一个类事件的。在类中声明一个事件成员一般采用如下的语法形式:public event 委托名 事件名。

本程序是udp通信的ui测试程序,负责接收数据报文,打算要定义简单的自定义事件,首先定义委托,然后定义事件类。

在文件delegate.cs中定义两个委托:

namespace communication
{

 public delegate void dgondatarecvfinished(object sender,bool e);//文件接收结束代理。
 public delegate void dgondatarecvstart(object sender,bool e);//文件接收结束代理。
 public delegate void dgondataarrived(object sender,udpeventargs e);//数据抵达代理.

自定义事件类udpeventargs也位于这个文件中,包括一个消息属性和字节数组.

public class udpeventargs:eventargs
 {
  string msg="";
  private byte[] recvdata=null;

  public udpeventargs(){}
  public string msg
  {
   set
   {
    msg=value;
   }
  }
  public byte[] recvdata
  {
   set
   {
    recvdata=value;
   }
   get
   {
    return recvdata;
   }
  }
 }

新事件类和三个委托定义完毕.


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表