当我尝试使用C#Lambda扩展方法All时,我收到以下错误

时间:2009-09-13 18:42:00

标签: asp.net-mvc

private void EnsureCurrentlyValid()
{
    //I'm valid if IDataErrorInfo.this[] returns null for every property
    var propsToValidate = new[] { "Name", "Email", "Phone", "WillAttend" };
    bool isValid = propsToValidate.All(x => this[x] == null);
    if (!isValid)
        throw new InvalidOperationException("Can't submit invalid GuestResponse");
}

'System.Array'不包含'All'的定义,并且没有扩展方法'All'接受类型'System.Array'的第一个参数可以找到(你是否缺少using指令或汇编引用? )C:\ dev \ aspnet \ PartyInvites \ Models \ GuestResponse.cs


我错过了什么?

2 个答案:

答案 0 :(得分:5)

将其添加到文件顶部:

using System.Linq;

答案 1 :(得分:1)

All是在Enumerable上定义的扩展方法。扩展方法(包括All)在System.Linq命名空间中定义,因此您需要在类中包含System.Linq的using指令才能引用扩展方法。您还需要使用C#3.0和.NET 3.5。