新手求指教

feitiegen 2012-11-02 02:07:19
本人菜鸟,刚学C#,看到这段代码我糊涂了。。。

public TcpServer(IPEndPoint endPoint)
{
_endPoint = endPoint;


this.ClientAccepted += (sender, e) =>
{
//IPEndPoint ep = (IPEndPoint)e.TcpClient.Client.RemoteEndPoint;
Logger.Info("TcpServer: 客户端连入 {0}。", e.TcpClient.Client.RemoteEndPoint);
};

this.Error += (sender, e) =>
{
Logger.Error("TcpServer: 发生错误。");
};
this.Started += (sender, e) =>
{
Logger.Info("TcpServer: 已启动。");
};
this.Starting += (sender, e) =>
{
Logger.Info("TcpServer: 正在启动,侦听地址:{0}。", this.IPAddress);
};
this.Stopped += (sender, e) =>
{
Logger.Info("TcpServer: 已停止。");
};
this.Stopping += (sender, e) =>
{
Logger.Info("TcpServer: 正在停止。");
};

}

请问类似于下面格式的语句怎么理解?
this.ClientAccepted += (sender, e) =>
{
//IPEndPoint ep = (IPEndPoint)e.TcpClient.Client.RemoteEndPoint;
Logger.Info("TcpServer: 客户端连入 {0}。", e.TcpClient.Client.RemoteEndPoint);
};
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
任何C#的书,以及MSDN都有讲解委托、事件的。自己看书学习下,很基本的东西。
[/Quote]只是不知道怎么用合适
threenewbee 2012-11-02
  • 打赏
  • 举报
回复
任何C#的书,以及MSDN都有讲解委托、事件的。自己看书学习下,很基本的东西。
feitiegen 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

事件处理函数,使用了Lambda表达式来写。
this.ClientAccepted += (sender, e) =>
{
//IPEndPoint ep = (IPEndPoint)e.TcpClient.Client.RemoteEndPoint;
Logger.Info("TcpServer: 客户端连入 {0}。", e.TcpClient.Client.RemoteE……
[/Quote]
3Q 太感谢了!知道原理我就好去查资料具体了解了
  • 打赏
  • 举报
回复
cao哥、我也想问下委托该怎么用才合适啊、有没有好的例子啊
[Quote=引用 1 楼 的回复:]
事件处理函数,使用了Lambda表达式来写。
this.ClientAccepted += (sender, e) =>
{
//IPEndPoint ep = (IPEndPoint)e.TcpClient.Client.RemoteEndPoint;
Logger.Info("TcpServer: 客户端连入 {0}。", e.TcpClient.Client.RemoteEn……
[/Quote]
threenewbee 2012-11-02
  • 打赏
  • 举报
回复
事件处理函数,使用了Lambda表达式来写。
this.ClientAccepted += (sender, e) =>
{
//IPEndPoint ep = (IPEndPoint)e.TcpClient.Client.RemoteEndPoint;
Logger.Info("TcpServer: 客户端连入 {0}。", e.TcpClient.Client.RemoteEndPoint);
};
相当于
this.ClientAccepted += XXX_ClientAccepted;

...

void XXX_ClientAccepted(object sender, EventArgs e)
{
//IPEndPoint ep = (IPEndPoint)e.TcpClient.Client.RemoteEndPoint;
Logger.Info("TcpServer: 客户端连入 {0}。", e.TcpClient.Client.RemoteEndPoint);
};

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧