2009-03-12 9 views
4

私は私のコールバック関数として持っていると思っているfunctというメソッドを持っています。私は、Cでinreceiveソケットメソッドを使用しています。コールバック関数

s.BeginReceive(buffer, 0, buffer.Length, System.Net.Sockets.SocketFlags.None, 
       new AsyncCallback(funct), null); 

取得していますエラーは次のとおりです。

'FUNCT' のいかなるオーバーロードは、ここでの問題であるかもしれない何System.AsyncCallback "

を委任一致していませんか?

答えて

6

「FUNCT」次のシグネチャを持つメソッドである必要があります。

void funct(IAsyncResult ar) { } 
2

のコールバックにはメソッドを使用することはできません。関数には特定のシグネチャ(パラメータリスト)が必要です。

0

はどのようにあなたの「FUNCT」メソッドシグネチャのように見えるのでしょうか?

返品は無効ですか?

IAsyncResult型のパラメータが1つだけありますか?

つまり、functメソッドはAsynccallbackデリゲートに準拠していますか?

1

どのような機能ですか?それは代議員ですか? これは、署名がAsyncCallbackデリゲートと互換性がないためです。

void SomeMethod(IAsyncResult ar) 

FUNCTはこのように見ている方法でなければなりません