怎么在实现IEnumerator接口时,必需加上System.Collections.IEnumerator?
public IEnumerator GetEnumerator()
{
Enumerator enumerator = new Enumerator(0);
return enumerator;
}
public class Enumerator : IEnumerator, IDisposable
{
private int state;
private object current;
public Enumerator(int state) { this.state = state; }
//注释掉时出现错误:无法实现接口成员,因为它不是公共的
bool /*System.Collections.IEnumerator.*/MoveNext()
{
switch (state)
{
case 0:
current = "Hello ";
state = 1;
return true;
case 1:
current = "World !";
state = 2;
return true;
case 2:
break;
}
return false;
}
void System.Collections.IEnumerator.Reset()
{
throw new NotSupportedException();
}
object System.Collections.IEnumerator.Current
{
get
{
return current;
}
}
void IDisposable.Dispose()
{ }
}
}
class program
{
static void Main(string[] ags)
{
HelloCollection pro = new HelloCollection();
foreach (var temp in pro)
{
Console.WriteLine(temp);
}
}
}
public IEnumerator GetEnumerator()
{
Enumerator enumerator = new Enumerator(0);
return enumerator;
}
public class Enumerator : IEnumerator, IDisposable
{
private int state;
private object current;
public Enumerator(int state) { this.state = state; }
//注释掉时出现错误:无法实现接口成员,因为它不是公共的
bool /*System.Collections.IEnumerator.*/MoveNext()
{
switch (state)
{
case 0:
current = "Hello ";
state = 1;
return true;
case 1:
current = "World !";
state = 2;
return true;
case 2:
break;
}
return false;
}
void System.Collections.IEnumerator.Reset()
{
throw new NotSupportedException();
}
object System.Collections.IEnumerator.Current
{
get
{
return current;
}
}
void IDisposable.Dispose()
{ }
}
}
class program
{
static void Main(string[] ags)
{
HelloCollection pro = new HelloCollection();
foreach (var temp in pro)
{
Console.WriteLine(temp);
}
}
}
解决方案 »
- C# 登录页面 之前用了一年半都没错,最近报错了
- 网页分屏加载
- 类声明是分配内存吗?
- GridView中删除事件,弹出确认对话框,点击确认执行后编代码,点击取消则返回
- 关于一个控件
- DataGrid 单元格keydown事件如何截获enter键
- .NET技术交流资源共享-------------群------------7991387一起学习一起进步!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- ****这个代码是不是死循环****
- C#中向Graphics输出String的问题。
- 我的窗口为什么不是正方形的???
- 关于xml文件的读取
- C# 摄像头操作问题
to
public void System.Collections.IEnumerator.Reset()