5

C# で beingreceive ソケット メソッドを使用しているときに、コールバック関数として使用したい funct というメソッドがあります。

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

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

「関数」のオーバーロードはデリゲート「System.AsyncCallback」と一致しません

ここで何が問題になる可能性がありますか?

4

4 に答える 4

6

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

void funct(IAsyncResult ar) { }
于 2009-03-12T14:56:19.860 に答える
2

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

于 2009-03-12T14:55:58.613 に答える
1

機能は何ですか?それは代表者ですか?そうである場合、その署名はAsyncCallbackデリゲートと互換性がありません。

functは、次のようなメソッドである必要があります。

void SomeMethod(IAsyncResult ar)
于 2009-03-12T14:57:27.470 に答える
0

'funct'メソッドのシグネチャはどのように見えますか?

ボイドを返しますか?

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

言い換えると、「funct」メソッドはAsynccallbackデリゲートに準拠していますか?

于 2009-03-12T14:57:25.910 に答える