2009-08-03 8 views
14

J'ai une classe (ClassA) qui possède une propriété IEnumerable. J'ai alors une autre classe (ClassB) qui a la même propriété. Ils partagent une interface (InterfaceA). Le ClassB est fondamentalement une classe de conteneur pour plusieurs ClassA. Comment implémenter la propriété pour ClassB. J'ai essayé d'utiliser une instruction de sélection LINQ, mais cela ne fonctionne pas.Comment combiner plusieurs listes IEnumerable ensemble

Editer: On dirait que je n'ai pas regardé assez fort. La réponse est ici dans cette question. How do I Aggregate multiple IEnumerables of T

Édition 2: Incluez l'exemple de code qui a fonctionné pour moi, au cas où quelqu'un d'autre en aurait besoin. Juste ajouter ma réponse, donc cela ne va pas sans réponse.

Répondre

20

classAs.SelectMany (classA => classA.MyInts);

Trouvé ceci à partir de this question.

3
 public IEnumerable<int> MyInts 
     { 
      get 
      { 
       foreach (ClassA c in classAs) 
       { 
        foreach (int i in c.MyInts) 
        { 
         yield return i; 
        } 
       } 
      } 

     } 
Questions connexes