Ajout d'objets avec la méthode IEDitableCollectionView addNew() est assez décent. Cependant, je ne suis pas sûr de savoir comment cela fonctionne avec mon code générique que j'ai. J'ai une ObservableCollection de ma classe de base.Quel est le type d'objet ajouté par IEditableCollectionView?
Selon ce que l'utilisateur veut voir, il peut être rempli avec DerivedA ou DerivedB (ou mutliple d'autres classes de types dérivées). Il n'en a jamais plus d'un type. J'ai les questions suivantes à ce sujet avec le numéro 1 étant la question principale.
1) Quel type d'objet est ajouté lorsque la méthode addNew() est appelée. Je devine la base mais pas sûr. Et si la base est abstraite? Y at-il de toute façon que je puisse m'assurer qu'il ajoute un type spécifique ou est-il implémenté qu'il ajoute déjà le type le plus pertinent?
2) Est-ce que je demande des problèmes avec ObservableCollection lorsque j'utilise des classes dérivées?
3) Les classes dérivées implémentent toutes IEIditableObject individuellement mais pas Base. Ma bêtise comme fautive parce que je pensais quand tu t'implémenterais aurait à définir les méthodes. Je peux juste les définir comme abstrait et ensuite les contourner dans les classes dérivées droite? Si je ne fais pas cela, je vais avoir des ennuis avec IEditableCollection.
MISE À JOUR:
I classe de base point 3) fixe implémente avec succès IEditableObject et jette les méthodes virtuelles abstraites jusqu'à elle est dérivée des classes. La méthode addNew dose ne fonctionne pas, même si la liste est remplie avec un élément dérivé.
J'ai vu une solution semi. .Net framework 4.0 implémente une nouvelle méthode appelée AddNewItem dans laquelle vous pouvez définir l'élément à ajouter. Devrait résoudre le problème avec des classes de construction et de base non paramétrables. Cependant, je travaille en 3.5
Tout ce que je peux faire?
J'ai mis à jour à .net 4.0 donc ce n'est pas vraiment un problème. Mais votre réponse est agréable à avoir pour quelqu'un qui trébuche ici. –