Ciao a tutti, come posso creare un Dictionary<Type,ObservableCollection<T>>,in modo da inserire all'interno di essa diverse collection contenenti tipi diversi:
es ObservableCollection<persona>,ObservableCollection <studente>,ecc...
Ciao a tutti, come posso creare un Dictionary<Type,ObservableCollection<T>>,in modo da inserire all'interno di essa diverse collection contenenti tipi diversi:
es ObservableCollection<persona>,ObservableCollection <studente>,ecc...
hai frainteso l'utilità dei generics.
puoi creare una dicionary
oppure una classecodice:Dictionary<Type,ObservableCollection<Studente>> = new Dictionary<Type,ObservableCollection<Studente>>();
e poi istanziarla con il tipo concreto:codice:class Manger<T> { Dictionary<Type,ObservableCollection<T>> map; //implementare le funzionalità in maniera "generica" }
quello che vuoi fare tu non si fa con i generic, al posto di T devi usare un tipo base nel caso le classi che intendi usare non derivino da un tipo base puoi sempre usare object.codice:Manager<Studente> = new Manager<Studente>(); /* Manager.Map è di tipo Dictionary<Type,ObservableCollection<Studente>>*/
Quello che vorrei fare è creare delle ObservableCollection e tenere traccia di esse in modo che quando uso la stessa Collection in Window diverse le modifiche vengono propagate in tutte le window.
cosa ti vieta di creare una classe con dentro tutte le, diciamo 30, collection?
per esempio:
codice:class CollectionManager { public ObservableCollection<Studente> Studenti { get; set; } //e via dicendo... }
Niente![]()
Volevo evitare di scrivere a mano ogni singola collection tutto qua![]()
ci sono diversi modi per fare quello che vuoi tu, uno te l'ho anche suggerito nel primo messaggio (ultima frase) ma se vuoi un parere del tutto personale, in questo caso specifico è bene avere una collection con il suo bel nome per ogni lista.