【发布时间】:2011-01-28 16:57:26
【问题描述】:
我正在尝试理解 lambda 表达式的以下用法。此代码取自 Josh Smith 出色的 MVVM 演示代码 (http://msdn.microsoft.com/en-us/magazine/dd419663.aspx#id0090055)。
方法调用如下:
AllCustomersViewModel workspace =
this.Workspaces.FirstOrDefault(vm => vm is AllCustomersViewModel)
as AllCustomersViewModel;
如本文所用,FirstOrDefault 具有以下定义,由 Visual Studio 2010 标识:
public static TSource FirstOrDefault<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
我不清楚
vm如何获取其类型?它没有在对象实例的其他地方定义。FirstOrDefault(vm => vm is AllCustomersViewModel)如何满足FirstOrDefault的source参数要求?这是否以某种方式暗示?
我一直在尝试使用这些资源来解析它:
【问题讨论】: