Wie kann ich ein Prädikat <T> in einen Ausdruck <Prädikat <T >> konvertieren, um ihn mit Moq zu verwenden?

Bitte helfen Sie diesem Linq-Neuling!

Ich erstelle eine Liste in meiner getesteten Klasse und möchte Moq verwenden, um die Ergebnisse zu überprüfen.

Ich kann ganz einfach ein Prädikat zusammenstellen, das die Ergebnisse der Liste überprüft. Wie mache ich dieses Prädikat dann zu einem Ausdruck?

var myList = new List<int> {1, 2, 3};

Predicate<List<int>> myPredicate = (list) => 
                  {
                      return list.Count == 3; // amongst other stuff
                  };

// ... do my stuff

myMock.Verify(m => m.DidStuffWith(It.Is<List<int>>( ??? )));

??? muss ein @ seExpression<Predicate<List<int>>> Wenn du so viele Generika in den Kopf bekommen kannst. Ich habe Antworten gefunden, die dies umgekehrt tun und einen Ausdruck in ein Prädikat kompilieren. Sie helfen mir jedoch nicht, Linq besser zu verstehen.

EDIT: Ich habe es mit Methoden arbeiten; mit Ausdrücken; Ich möchte nur wissen, ob es eine Möglichkeit gibt, dies mit einem Lambda mit einem Körper zu tun - und wenn nicht, warum nicht?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage