Comment puis-je jeté dans une ObservableCollection<object>
Comment puis-je cast
from ObservableCollection<TabItem> into ObservableCollection<object>
cela ne marche pas pour moi
(ObservableCollection<object>)myTabItemObservableCollection
Qui est appelé la covariance, et il n'est pas encore disponible en C#
(et pour les collections, ne sera pas disponible dans la version 4.0 soit - juste pour être clair)
(et pour les collections, ne sera pas disponible dans la version 4.0 soit - juste pour être clair)
OriginalL'auteur Mario Binder | 2009-07-29
Vous devez vous connecter pour publier un commentaire.
vous devriez copie de
new
mot-clémerci a Attiré, je l'ai ajouté
.net 4 ne permet PAS de résoudre ce problème, comme détaillé dans l'Marc Gravel.
OriginalL'auteur Arsen Mkrtchyan
Fondamentalement, vous ne pouvez pas. Pas maintenant, et pas dans .NET 4.0.
Quel est le contexte? De quoi avez-vous besoin? LINQ a
Cast<T>
qui peut vous obtenir les données en tant que séquence, ou il y a quelques trucs avec des méthodes génériques (c'est à direFoo<T>(ObservalbleCollection<T> col)
etc).Ou vous pouvez simplement utiliser la non-générique
IList
?OriginalL'auteur Marc Gravell
vous pouvez utiliser
IEnumerable.Cast<T>()
OriginalL'auteur Hath
Vous ne pouvez pas.
ObservableCollection<TabItem>
ne provient pas de l'ObservableCollection<object>
.Si vous expliquez pourquoi vous désirez peut-être nous pouvons remarquer une interface de rechange que vous pouvez utiliser.
OriginalL'auteur AnthonyWJones
merci pour toutes les réponses, mais je pense que je dois résoudre ce problème soi-même avec un "helpermethode".
A peut-être une meilleure méthode ou d'un linq déclaration de ce.
Je ne comprends pas ce que u veux dire?! J'ai un TabItem ce que je voudrais ajouter dans une ObservableCollection de type objet. "Manager" est une des classes globales avec une ObservableCollection<object> ce que j'ai besoin dans tous les points de vue et les composants dans ma prisme de l'application.
Ah désolé j'ai mal compris ur Réponse. "ObjectCollection" est typé comme objet ObservableCollection<object>
oui mais ce n'est pas ma réponse plus court? et résolu le même problème par le même chemin avec le moins de code
vous avez raison, merci pour ça : )
OriginalL'auteur Mario Binder
Aucun des exemples que j'ai trouvés ont travaillé pour moi, j'ai bricolé le code ci-dessous et il semble fonctionner. J'ai une hiérarchie qui est créé par la désérialisation d'un fichier XML et je suis capable de faire une boucle par tous les objets de la hiérarchie, mais vous pouvez adapter ce droit à boucle à travers une ObservableCollection et obtenir les objets comme des objets et non pas fortement typé.
Je veux ajouter un PropertyChangingEventHandler à tous les biens de la hiérarchie afin que je puisse mettre en œuvre annuler/rétablir la fonctionnalité.
La méthode est appelée comme ceci
Si vous souhaitez simplement créer une collection d'objets que vous avez juste besoin de ce bout de code
OriginalL'auteur A. K.