Pourquoi INotifyCollectionChanged utilisation IList
-
27-10-2019 - |
La solution
Jetez un oeil à NotifyCollectionChangedEventArgs
.
Il a des propriétés de NewStartingIndex
et OldStartingIndex
.
Ainsi, la conception est basée sur les collections indexables, je suppose que cela est pratique pour par exemple Listes déroulantes.
Autres conseils
L'indexation est souhaitable pour la liste des scénarios de virtualisation.
IList
est l'interface de collecte simple qui fournit un accès indexé à des éléments. ReadOnlyCollection
est une classe de béton et donc beaucoup plus limitant à implementors.
Je pense qu'en cas de INotifyCollectionChanged
vous avez souvent besoin d'effectuer une consultation pour les composants par leur nom (puisque les propriétés sont stockées sous forme de chaînes là-bas), il est donc essentiel d'avoir un indexeur qui prend des chaînes (et la structure sous-jacente devrait probablement être quelque chose comme Hashtable).
page MSDN vous pouvez trouver la recommandation suivante:
Si vous avez un scénario avancé et que vous voulez mettre en œuvre votre propre collection, pensez à utiliser IList, qui fournit un non générique collection d'objets qui peuvent être individuellement accessibles par index et offre les meilleures performances.