Bonjour,
j'aurais une petite question à vous poser. Voila , j'ai un objet utilisateur qui possedent une collection de filtres defini comme suit :
FilterLibrary etant une liste de FilterProvider qui est une classe abstraite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public abstract class UserProvider : IUser { public FilterLibrary Filters; }
Cette classe est tres pratique car elle me permet de centraliser les points communs a tous les filtres.
Je derive cette classe pour obtenir un filtre precis pour par exemple extraire un catalogue :
Jusqu'ici point de souci, apr contre lorsque j'utilise ce systeme je me retrovue avec quelquechose qui n'est pas tres joli :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class CatalogItemFilter : FilterProvider { public int NodeLevel { get; set; } public bool ShowSubTree { get; set; } public CatalogItemFilter() { } }
Pour recuperer mon filtre dans ma liste je le choisis en fonction de son type, cela est tres bien car si je veux un filtre sur le catalog, je lui dit et il me le trouve. Apr contre du fait de cette construction je suis obligé de le recaster car la liste contenu dans FilterLibrary est une lsite de filterLibrary.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ((CatalogItemFilter)CurrentUser.Filters_ _[typeof(CatalogItemFilter)]).NodeLevel;
Manque je quelquechose dans cette architecture? Je trouve cela malheureux d'avoir a spécifier 2 fois mon type..
Merci d'avance de vos idées..
Partager