Je dois implémenter un service Web qui expose une liste de valeurs (entiers, classes personnalisées, etc.). Ma solution de travail renvoie un List<T>
, et selon FxCop il est préférable de retourner un Collection<T>
ou ReadOnlyCollection<T>
.Meilleure façon d'utiliser la liste <T> et d'exposer Collection <T>
Si je choisis de retourner un ReadOnlyCollection<T>
, le service Web affiche une erreur comme:
Pour être sérialisable XML, les types qui héritent de
ICollection
doivent avoir une mise en œuvre deAdd(System.Int32)
à tous les niveaux de leur hiérarchie d'héritage.System.Collections.ObjectModel.ReadOnlyCollection
1
[[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
n'implémente pasAdd(System.Int32)
.
Quelle est votre méthode préférée pour utiliser en interne un List<T>
et exposer un Collection<T>
? (en utilisant C#, et de préférence le framework 2.0 uniquement)
Merci pour votre réponse et pour les détails sur la collection agissant comme un véritable emballage, je n'ai rien trouvé à ce sujet avant. – alexandrul