Ich versuche, eine Methode eines Objekts in einem Lambda-Ausdruck aufzurufen und dann die Liste zu ordnen. Ist es möglich, dies in einem Ausdruck zu tun?C# -Aufruffunktion des Objekts in Lambda und orderby
das, was ich jetzt habe, ist, funktioniert es:
// FindItemsResults<Item> is of namespace Microsoft.Exchange.WebServices.Data.FindItemsResults<Item>
FindItemsResults<Item> findResults = service.FindItems(
WellKnownFolderName.Inbox,
view
);
foreach (Item myItem in findResults.Items.Where(o => LoadObject(o) == true).OrderByDescending(o => o.DateTimeCreated))
{
// Do that stuff again...
}
private static bool LoadObject(Item o)
{
o.Load();
return true;
}
Was ich frage mich, ob es einen Weg, dies zu LoadObject ohne den Anruf zu tun ist, die o.Load zu tun in der Lage, innerhalb des Lambda-Ausdrucks. Es ist eine Void-Methode, also wird es gegen einen Boolean nicht funktionieren.
Vielen Dank für Ihre Eingabe.
Mit freundlichen Grüßen.
Sie sollten das wirklich nicht tun. LINQ ist für die Abfrage von Daten gedacht und sollte keine Nebenwirkungen haben. Ich schlage vor, Sie laden die Elemente über eine normale Schleife und führen dann Ihre Abfrage durch. –