温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中如何自定义事件

发布时间:2021-07-20 11:12:02 来源:亿速云 阅读:141 作者:Leah 栏目:编程语言

这篇文章将为大家详细讲解有关C#中如何自定义事件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

C#自定义事件

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

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

event指定一个事件。在C#的类中存在以下成员:域(Fields)、属性(Properties)、方法(Methods)、索引 (Indexs)、事件(Events),其中事件(Events)成员就是用来声明一个类事件的。在类中声明一个事件成员一般采用如下的语法形式:public event 委托名 事件名。

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

在文件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);//数据抵达代理.

C#自定义事件类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;  }  }  }

关于C#中如何自定义事件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI