2009-09-13 4 views
0
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 » ne contient pas de définition pour « tous » et aucune méthode d'extension « All » accepter un premier argument de type 'System.Array' n'a pu être trouvée (vous manque une directive à l'aide ou une référence d'assemblage?) C: \ dev \ aspnet \ PartyInvites \ Modèles \ GuestResponse.csje reçois l'erreur suivante, en essayant d'utiliser C# méthode d'extension Lambda Tous


Qu'est-ce que je manque?

+0

Essayez ReSharper et vous n'aurez plus jamais ce problème :) –

Répondre

5

Ajouter ceci au début de votre fichier:

using System.Linq; 
1

All est une méthode d'extension définie sur Enumerable. Les méthodes d'extension (y compris All) sont définies dans l'espace de noms System.Linq. Vous devez donc inclure une directive using pour System.Linq dans votre classe afin de référencer les méthodes d'extension. Vous devrez également utiliser C# 3.0 et .NET 3.5.

Questions connexes