Quelle est la meilleure façon d'écrire un rappel? J'ai seulement besoin d'appeler 1 fonction qui a le sig de void (string, int); et ceci devrait invoquer une classe puisque j'ai des objs de membre que je dois traiter. Quel est le meilleur moyen d'écrire ceci? en C je passerais un pointeur de fonction et un void * obj. Je n'aime pas ça et je pense qu'il y a une meilleure façon de le faire en C#?Comment créer un rappel
Répondre
La méthode standard de manutention (ou le remplacement de la nécessité) callbacks en C# est d'utiliser des délégués ou des événements. Ceci fournit une manière très puissante et propre de gérer les rappels.
C# 3.0 introduit des lambdas qui vous permettent de quitter la déclaration de signatures de rappel (ou de délégué). Il vous permet de faire des choses comme:
static void GiveMeTheDate(Action<int, string> action)
{
var now = DateTime.Now;
action(now.Day, now.ToString("MMMM"));
}
GiveMeTheDate((day, month) => Console.WriteLine("Day: {0}, Month: {1}", day, month));
// prints "Day: 3, Month: April"
Je me demande pourquoi quelqu'un a downvoted ceci! Le code fonctionne, et il semble répondre à la question. –
J'ai voté pour. Le 'pouvoir' corrompt, même certains d'entre nous, apparemment. – SinisterRainbow
Est-ce que c'est ce que vous voulez dire?
thatfunc(params, it, wants, Func<myObject> myCallbackFunc)
{
myObject obj = new Object();
myCallbackFunc.Invoke(obj);
//or
myCallbackFunc.Invoke(this);
//I wasn't sure what if myObject contained thatFunc or not...
}
- 1. Un rappel au rappel de $ .each()?
- 2. Lorsque vous utilisez une fonction PHP nécessitant un rappel, comment transmettre un paramètre personnalisé au rappel?
- 3. Comment - fonctions de rappel
- 4. Comment enregistrer un rappel JavaScript dans une applet Java?
- 5. SQLite UDF - Rappel VBA
- 6. rappel before_add utilisant nested_attributes
- 7. Comment déclencher un rappel lorsqu'un NSAnimationContext se termine?
- 8. .NET: Comment parler à un formulaire pendant le rappel BeginInvoke?
- 9. Comment ajouter une fonction de rappel à un cours javascript?
- 10. Rappel asynchrone Objective-C de
- 11. Un rappel pour plusieurs requêtes json
- 12. Comment configurer dojox.cometd pour l'interrogation de rappel?
- 13. Rappel API Matlab/Java
- 14. Fonctions de rappel pratiques
- 15. Comment créer un bookmarklet pour créer un grattage d'écran?
- 16. Rappel côté client dans GWT
- 17. Comment créer un PlugIn Java?
- 18. Comment créer un DOMEment vide
- 19. Comment créer un menu flottant
- 20. Comment créer un curseur horizontal
- 21. Comment créer un bouton "Copier"?
- 22. Comment créer un AppDomain restreint?
- 23. Comment créer un navigateur brancher?
- 24. Comment créer un System.Windows.Media.Brush personnalisé?
- 25. Django: Comment créer un leaderboard
- 26. Comment créer un arbre binaire
- 27. Comment créer un nouveau dossier?
- 28. Comment créer un DataBase Miner?
- 29. Services de rappel WCF
- 30. Rappel avec NetTCPBinding
Vous allez devoir réécrire la question. Cela n'a pas beaucoup de sens et il n'y a pas de contexte. – Samuel
Votre question n'est toujours pas très claire. Qu'est-ce qui devrait appeler quoi? – Samuel