Mettre en œuvre IEnumerable sur la propriété

En supposant que la classe

public class Foo 
{
    public List<Bar> Bar = new List<Bar>();
    public string Something;
    public TStatus Status;
}

Bar est une classe définie comme

public class Bar
{
    public string Code;
    public string Message;
    public TStatus Status;
}

J'ai besoin d'itérer la Barre de la liste, mais je ne peux pas utiliser un foreach parce que j'ai besoin pour mettre en œuvre IEnumerable je suis un peu novice et j'ai du mal à trouver comment la mettre en œuvre, toute aide appréciée.

  • List<Bar> implémente déjà IEnumerable. Pourquoi pensez-vous que vous devez le faire vous-même?
  • Parlez-vous à répéter le Bar liste? ou parlez-vous d'une certaine manière itération les membres de chaque Bar? Vous avez déjà itérer une Liste<t> objet.
  • Pourriez-vous poster le code qui ne compile pas? Il y a beaucoup de réponses ci-dessous, mais de toute façon, je ne pense pas que ces décrivez votre problème.
  • Pourquoi êtes-vous à l'aide de champs publics plutôt que des propriétés?
  • suis un peu novice..."
  • Ok. Je vais recommander que vous passez à des propriétés, puisque vous pouvez ajouter de la logique à eux et de les remplacer (si vous les définissez comme virtuel)
  • Le code que j'ai posté n'a compiler. Il fait partie d'un webservice, lors de l'écriture d'un client à l'interface à cela le retour de foo contenant une liste de n de la barre de champs. Sur le côté client je ne peux pas utiliser un foreach pour itérer car "Erreur 1 instruction foreach ne peut pas fonctionner sur des variables de type 'Foo', parce que 'Foo' ne contient pas une définition publique pour "GetEnumerator'"
  • J'ai réalisé que le problème est lorsqu'il est exposé comme un service web la Liste est définie sous la forme de tableaux de perdre la possibilité de les énumérer. C'est une autre question complètement, merci pour votre aide.

InformationsquelleAutor Cookie | 2010-10-18