Comment puis-je faire cela?Cast IEnumerable <T> à ObservableCollection <T> sans injection de constructeur l'IEnumerable <T>
thats un no go:
ObservableCollection obsCol = new ObservableCollection (myIEnumerable);
scénario:
var query = from c in customers
select new Customer()
{
Products = from p in products
where p.Id = c.Id
select p
};
Products est un ObservableCollection donc il ne peut pas prendre le résultat IEnumerable de la sélection ci-dessus ...
Comment fonte?
s'il vous plaît lire sur ma déclaration de non-go, puis modifier votre réponse, merci. – msfanboy
@msfanboy: Il est, par définition, totalement impossible de le faire d'une autre manière. S'il vous plaît lire sur le casting et les classes, puis modifier votre question, merci. – SLaks
La méthode d'extension 'Select' renvoie une instance d'une classe d'itération générée par le compilateur. Puisque cette classe n'hérite pas de 'ObservableCollection', il est impossible de la convertir en une seule. – SLaks