这两天头脑发热,突然想学C#,用C#作一个网络通信服务包,遇到了种种问题,下面是一个c++中不太常见的处理方式“事件监听”搞了半天才明白,跟c++的继承非常相似。实现功能如下:
定义一个用户委托事件
public delegate void UserEvent(object sender, System.EventArgs e);
定义一个事件为InputDataOK
public event UserEvent InputDataOK;
public bool SendMsg(int flag, int lenght, byte[] data)
{
如果有添加监听就通过如下方式调用 监听。
if (InputDataOK != null)
{
InputDataOK(null, null);
}
}
实现监听方法如下:
class NetInterface
{
NetBase netbase = new NetBase();
public UserInfo GetUserInfo()
{
添加一个监听,当事件发生时调用自己定义的函数 netbase_InputDataOK
netbase.InputDataOK += new NetBase.UserEvent(netbase_InputDataOK);
return new UserInfo();
}
void netbase_InputDataOK(object sender, EventArgs e)
{
//throw new NotImplementedException();
}
}
定义一个用户委托事件
public delegate void UserEvent(object sender, System.EventArgs e);
定义一个事件为InputDataOK
public event UserEvent InputDataOK;
public bool SendMsg(int flag, int lenght, byte[] data)
{
如果有添加监听就通过如下方式调用 监听。
if (InputDataOK != null)
{
InputDataOK(null, null);
}
}
实现监听方法如下:
class NetInterface
{
NetBase netbase = new NetBase();
public UserInfo GetUserInfo()
{
添加一个监听,当事件发生时调用自己定义的函数 netbase_InputDataOK
netbase.InputDataOK += new NetBase.UserEvent(netbase_InputDataOK);
return new UserInfo();
}
void netbase_InputDataOK(object sender, EventArgs e)
{
//throw new NotImplementedException();
}
}