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 语句不太了解。
有人可以解释一下吗?
谢谢詹姆斯