У меня есть 2 классов и в Persons
классе я хочу добавить возможность пробегает через свойство названия коллекции Person с помощью цикла Еогеаспа, например:Реализация IEnumerable вопрос
foreach (string name in Persons.Names)
{
// do something
}
Как бы я это?
Это мои классы:
class Person
{
public string Name
{
get;
set;
}
public string Surname
{
get;
set;
}
}
class Persons : IEnumerable<Person>
{
List<Person> persons = new List<Person>();
public IEnumerator<Person> GetEnumerator()
{
foreach (Person p in persons)
{
yield return p;
}
}
System.Collections.IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
public IEnumerator<string> Names
{
// implement looping through Name property of Person class
}
public Persons()
{
}
public void Add(Person p)
{
persons.Add(p);
}
public string this[int index]
{
get { return this[index]; }
}
}
Там должен быть прибудет аксессор зажатым там, а – Oskar
+1 для полноты ... –
Вашего LINQ кажется, путает IEnumerable с IEnumerator . –
Mark