【发布时间】:2016-01-09 08:43:47
【问题描述】:
GetEnumerator 返回类型是接口本身,即 Ienumerable,想知道什么时候接口可以是方法的返回类型;特别是当它在该接口中定义时。
Ienumerator enum = arrayList.GetEnumerator();
【问题讨论】:
-
表示返回的必须实现IEnumerator或者什么接口。
-
谢谢本,你肯定比我知道的多,只是想知道我没有看到 IEnumerator 在代码中实现,这是否意味着 GetEnumerator 正在返回一个已实现 IEnumerator 的类。
-
是的,没错。
-
太棒了,最后一个疑问,GetEnumerator 有可能实现了更多的接口和方法,所以它返回的必须是一个大于 IEnumerator 中定义的签名的类,或者这是否意味着它的写法公共静态 IEnumerator GetEnumerator() 那里
-
如果没有,GetEnumerator 会返回哪些额外的方法,不能使用,因为 Ienumerator 中定义的签名可以作为子操作在枚举上使用。
标签: c# asp.net .net generics collections