private void ClientConn(object sender, Begin.NetEventArgs e)
{
Begin.NetEvent ClientConn = delegate(object oSender, Begin.NetEventArgs E)
{
string info = string.Format("A Client:{0} connect server Session:{1}. Socket Handle:{2}",
E.Client.ClientSocket.RemoteEndPoint.ToString(),
E.Client.ID, E.Client.ClientSocket.Handle); rtbContent.AppendText(info + DateTime.Now.ToString() + "\r\n"); };
rtbContent.Invoke(ClientConn, sender, e); }
自定义事件;
如果是这个事件是窗体自带的可以这样编写: private void ClientConn(object sender, Begin.NetEventArgs e)
{
string info = string.Format("A Client:{0} connect server Session:{1}. Socket Handle:{2}",
e.Client.ClientSocket.RemoteEndPoint.ToString(),
e.Client.ID, e.Client.ClientSocket.Handle);
rtbContent.AppendText(info + DateTime.Now.ToString() + "\r\n");
}这个为什么这样,感觉自定义事件绑定的方法不是很好,有没有什么更好的替代方法?谢谢
{
string info = string.Format("A Client:{0} connect server Session:{1}. Socket Handle:{2}",
e.Client.ClientSocket.RemoteEndPoint.ToString(),
e.Client.ID, e.Client.ClientSocket.Handle);
rtbContent.AppendText(info + DateTime.Now.ToString() + "\r\n");
}执行
然后在类外面可以订阅此事件,
如下:classinstance.DefineEvent(object sender,EventArgs e)
{
.......
}类中可以这样解发:
protecte virtual void OnDefineEvent(eventargs e)
{
eventhandler eh=DefineEvent;
if(eh!=null)
{
eh(this,e);
}
}在你的类中适当的地方写上相应的OnDefineEvent(EventArgs.Empty);就可以了;