【发布时间】:2013-05-31 02:00:03
【问题描述】:
using System.Reflection;
internal class TestReflection
{
public static IEnumerable<object> ParseType(Type t)
{
foreach (MemberInfo mi in t.GetMembers())
{
yield return mi;
foreach (object x in mi.GetCustomAttributes(true))
{
yield return x;
}
}
}
}
所以我的问题是迭代器如何知道何时进入嵌套的 foreach。我曾假设第一个收益返回将始终执行,而嵌套的收益返回永远不会执行。但事实并非如此,这表明我对 yield return 语句有些不太了解。
谁能解释一下?
谢谢 詹姆斯
【问题讨论】:
-
这可能会为您带来 一些 光(或不会,可能不是最好的解释):blog.alxandr.me/2012/10/10/…
标签: c#