好的,所以我试图将forEach扩展方法添加到linq中,因为IEnumerables没有ForEach但由于某种原因,我无法看到它。
扩展方法是:
public static IEnumerable<TSource> ForEach<TSource>(Func<TSource> action)
{
yield return action();
}
当我尝试调用它时(gdMain
是Grid
):
答案 0 :(得分:1)
要让智能感知在您的代码中尝试显示某些内容,您必须添加一个参数。 this IEnumerable<TSource> source
。
或者它不是IEnumerable<TSource>
的扩展方法(而gdMain.Children.Cast<UIElement>()
将返回IEnumerable<UIElement>
)
public static IEnumerable<TSource> ForEach<TSource>(this IEnumerable<TSource> source, Func<TSource> action)
{
yield return action();
}