2010-10-12 3 views
0

j'ai la pièce de code suivante« Le type contient déjà une définition pour » avec un Func et une méthode

public static Func<PurchasingDataContext, int, int, List<Requisition>> 
    GetRequisitions = CompiledQuery.Compile((PurchasingDataContext context, int userid, int requisitionState) 
     => context.Requisitions.Where(r => r.UserId == userid && r.RequisitionId == requisitionState).ToList()); 

    public static List<Requisition> GetRequisitions(int userid, int requisitionState) 
    { 
     using (PurchasingDataContext context = new PurchasingDataContext()) 
     { 
      return GetRequisitions(context, userid, (int)requisitionState); 
     } 
    } 

et il produit l'erreur suivante:

Le type « Purchasing.Data .Requisition 'contient déjà une définition pour' GetRequisitions '

Je ne comprends pas vraiment pourquoi, j'avais supposé, peut-être incorrectement qu'un Func était une méthode. Dans ce cas, je suis juste en train de surcharger ici. Peut-être que c'est différent, ou que je fais quelque chose de mal. Tout conseil serait un grand merci

Will

Répondre

3

Vous avez un champ appelé GetRequisitions (votre délégué Func) et vous avez une méthode du même nom. Cela n'est jamais autorisé.

+0

Donc un func est une propriété dans ce cas? Ce n'est pas une méthode? – Wdhough

+0

@Wdhough ni propriété ni méthode - un * champ *, comme 'public int i;' – AakashM

+0

Wow, eh bien, vous apprenez quelque chose de nouveau tous les jours, merci les gars – Wdhough

Questions connexes