Existe-t-il un moyen de créer une fonction de rappel qui se déclenche lorsqu'un objet liste (toute classe implémentant l'interface ICollection de C# .NET) atteint une certaine capacité (nombre d'éléments dans la liste)?Comment créer un événement de rappel sur ICollection en C# - pour le traitement par lots
Je voudrais qu'un événement se déclenche quand mon objet liste a 5 éléments par exemple. Pour vous situer dans le contexte, je le fais pour le traitement de données par lots puisque j'exécute un service qui utilise le protocole HTTP sur le réseau et le traitement par lots est nécessaire pour la performance de mon application. Une implémentation simple est en batch dans la mémoire (dans une liste) et se déclenche quand elle atteint une certaine capacité puis envoie sur le réseau ou s'il y a d'autres outils j'apprécierais n'importe quels pointeurs vers eux.
Merci
Je ne connais pas une implémentation intégrée ('IObservableCollection' vous informera de tous les changements) mais en créer un devrait être assez facile. Créez simplement une classe avec un membre ICollection privé, et une méthode Add() 'qui garde la trace des éléments ajoutés. Jetez un événement "AddThresholdReached' et vous êtes tous en jeu. –
dlev
' IObservableCollection' ressemble à ce dont j'ai besoin pour simplement implémenter une opération par lots –
ICollection est une interface qui signifie qu'elle n'a aucune fonctionnalité.La seule chose que vous savez sur une instance est que Il n'implémente pas l'événement ICollection et ICollection n'a aucun événement, vous pouvez donc créer votre propre collection en héritant par exemple de la liste et implémenter votre propre méthode ICollection.Add –
Casperah