2009-03-12 8 views
4

J'ai une méthode appelée funct que je veux utiliser comme fonction de rappel lorsque j'utilise la méthode socket réceptrice en C#.Fonction de rappel

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

L'erreur que je reçois est:

Aucune surcharge pour 'fonct' correspond délégué 'System.AsyncCallback'

Ce qui pourrait être le problème ici?

Répondre

6

« fonct » doit être une méthode avec la signature suivante:

void funct(IAsyncResult ar) { } 
2

Vous ne pouvez pas simplement utiliser n'importe quelle méthode pour votre rappel. La fonction doit avoir une signature spécifique (liste de paramètres).

0

Comment votre signature de la méthode « fonct » ressemble?

Renvoie-t-il la valeur vide? Il a exactement un paramètre de type IAsyncResult?

En d'autres termes, votre méthode «funct» est-elle conforme au délégué Asynccallback?

1

quelle est la fonction? Est-ce un délégué? si c'est le cas, sa signature n'est pas compatible avec le délégué AsyncCallback.

fonct doit être une méthode qui ressemble à ceci:

void SomeMethod(IAsyncResult ar) 
Questions connexes