Я получаю следующую ошибку при попытке использовать метод расширения C # Lambda All - PullRequest
0 голосов
/ 13 сентября 2009
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 ]

5 голосов
/ 13 сентября 2009

Добавьте это в начало вашего файла:

using System.Linq;
1 голос
/ 13 сентября 2009

Все - это метод расширения, определенный в Enumerable. Методы расширения (включая All) определены в пространстве имен System.Linq, поэтому вам необходимо включить директиву using для System.Linq в ваш класс для ссылки на методы расширения. Вам также нужно будет использовать C # 3.0 и .NET 3.5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...