2010-07-05 11 views
0

Iv'e assez nouveau pour C# ATM et je semble avoir de la difficulté avec Jabber-NetCallbacks/Evénements en C#

Im essayant de créer une application de chat de base qui reliera les utilisateurs via Jaber Services, les questions im avoir avec les rappels.

La principale erreur que je semble obtenir est sur le « événement requis, mais utilisé comme« type », ou quelque chose dans ce sens ..

Im au travail atm donc je ne peux vous donner tous les détails, mais il semble être quand j'essayer d'ajouter callbacks .. par exemple:

JabberClient Jabber = new JabberCLient(); 
Jabbaer.OnConnect += new jabber.connection.XmppStream.OnConnect(Some_event_function); 

maintenant, ce code a été juste en haut de ma tête et peut-être tort, je travaille en corrigeant les erreurs que j'apprends mais je reçois une erreur ce qui me dit essentiellement que ce qui im ​​doit être fait comme un événement, mais im en utilisant comme un type

Quelqu'un peut-il faire la lumière sur le sujet s'il vous plaît.

Cordialement Robert Pitt

+0

Il fonctionne beaucoup mieux si vous postez à partir d'un endroit où vous avez _do_ le code réel. –

+0

Oui, je vais mettre à jour l'OP Dès que je peux, Mais ce n'est pas seulement sur le code, j'ai besoin de comprendre les événements en général. Je suis désolé pour le problème toi. – RobertPitt

+0

Vous semblez mélanger vos couches - ATM est couche 2, XMPP est la couche 7 –

Répondre

0

En principe, la ligne

Jabbaer.OnConnect += new 
     jabber.connection.XmppStream.OnConnect(Some_event_function); 

est faux parce XmppStream.OnConnect est une propriété et vous avez besoin d'un délégué définition à ce moment-là. Mais au lieu de débogage ce qui est venu de votre mémoire, il suffit d'utiliser la forme abrégée:

Jabbaer.OnConnect += Some_event_function; 
+0

Je vais essayer, je ne sais pas pourquoi j'utilise le 'jabber.connection.XmppStream.OnConnect', je suis sûr que quelqu'un m'a dit de le faire. Je vous ferai connaître bientôt les résultats. – RobertPitt

0

Remplacer la deuxième ligne avec:

Jabber.OnConnect += Some_event_function; 
+0

Merci pour la réponse rapide, je ne peux pas tester maintenant fera plus tard, mais je suis sûr que j'ai essayé cette méthode et j'ai eu des erreurs, je suis pas sûr à 100% toi. – RobertPitt

+0

Si vous avez une erreur, cela est probablement dû à la différence de signature (entre l'événement et le rappel). –

+0

Ces erreurs sont-elles capturables? – RobertPitt