读书人

请教下这两个写法有什么区别

发布时间: 2012-02-21 16:26:23 作者: rapoo

请问下,这两个写法有什么区别?
Socket Listener;
void ServerReceived(IAsyncResult ar)
{...}

...
写法1:
Listener.BeginAccept(new AsyncCallback(this.ServerReceived), Listener);
写法2:
Listener.BeginAccept(ServerReceived, Listener);


[解决办法]
哦,说不清楚了.
[解决办法]
new AsyncCallback(this.ServerReceived),异步操作函数执行完毕后的回调
Socket.BeginAccept 方法 (Socket, Int32, AsyncCallback, Object) 开始异步操作以接受从指定套接字传入的连接尝试并接收客户端应用程序发送的第一个数据块。
AsyncCallback 委托
public delegate void AsyncCallback (
IAsyncResult ar
)


[解决办法]
一样的,第二种是简洁写法,在.net2.0下编译器会自动生成代码,LZ可以用ildasm.exe反编译看看
[解决办法]
第二种是由编译器帮你生成第一种

读书人网 >C#

热点推荐