我是枚举集合的新手,如果这个问题听起来很傻,请原谅。
我有一堂课
public class PersonStuff : IPersonStuff, IEnumerable<User>
{
Person person = new Person();
...
IEnumerator<Person> IEnumerable<Person>.GetEnumerator()
{
return (person as IEnumerable<Person>).GetEnumerator();
}
}
如您所见,我在上面实现了两个接口:一个是 IPersonStuff,另一个是 IEnumerable。
Person 类是一个简单的 getter/setter,每种类型都是字符串,例如姓名、地址,但 dateofbirth 是 DateTime。
在我的 IPersonStuff 中,我有这个:
interface IPersonStuff
{
...
IEnumerator<Person> IEnumerable<Person>.GetEnumerator();
}
一旦工作,我想以下列方式调用它(从任何类):
IPersonStuff personStuff = new PersonStuff();
foreach (Person u in personStuff)
{
//this loop should iterate thru the elements.
}
但是,我收到以下错误:
- 'IEnumerable<...>.GetEnumerator':显式接口声明只能在类或结构中声明
基本上我想知道如何通过 IPersonStuff 接口调用我在 PersonStuff 类中的 IEnumerator IEnumerable.GetEnumerator() 。