Kann ich Expression <Func <T, bool >> verwenden und zuverlässig sehen, auf welche Eigenschaften in Func <T, bool> verwiesen wird?
Ich schreibe etwas im Geschmack vonEnumerable.Where
in das nimmt ein Prädikat der FormFunc<T, bool>
. Wenn das zugrunde liegendeT
implementiertINotifyPropertyChanged
, Ich möchte das Prädikat etwas intelligenter neu bewerten.
Ich denke darüber nach, es zu ändern, um @ zu verwendExpression<Func<T, bool>>
und dann mithilfe der Ausdrucksbaumstruktur herausfinden, welche Eigenschaften im Prädikat verwendet werden. Dann kann ich mein @ habPropertyChanged
Handler ein bisschen intelligenter sein.
Meine Frage: ist das machbar? Wenn das Prädikat einfach ist (z. B.x => x.Age > 18
), dann ist dieExpression
scheint alles zu haben, was ich brauche. Gibt es Szenarien, in denen ich nicht sehen kann, auf welche Eigenschaften verwiesen wird?