Czy istnieje prosty sposób sprawdzenia, czy wyrażenie zawiera parametr expression, który nie jest dalej zawijany, na przykład element członkowski expressionExpression.Sprawdzanie, czy wyrażenie zawiera "samotny" parametr Wyrażenie
Przykład:
x => x.Method() ? x : null
< = 1 wystąpienie x bez dalszej oceny
x => x.Method() ? x.Property : null
< = 0 wystąpień x bez dalszej oceny
Wystarczy umieścić mój przypadek użycia jest to, że wiem, że Metoda (bez parametrów) i wartości właściwości i chcesz dowiedzieć się, czy to wystarczy, aby ocenić wyrażenie bez pobierania całego "obiektu" ze sklepu.
Edytuj: Mój przykład może być uproszczony. Istnieje więcej typów ekspresji, które muszą być obsługiwane (na przykład UnaryExpression).
x => ((Cast) x).Property
< = 0 wystąpień x bez dalszej oceny
szukam odpowiedzi na następujące pytanie:
danym wyrazem, jeśli wiem, że wszystkie wartości powrotu metody i wartości majątkowych parametr wejściowy, ale nie sama wartość parametru, czy mogę ocenić wyrażenie?
Jaka wersja .NET używasz? –
To .net 3.5 (ale ja też mam wersję .net 4, gdzie mógłbym użyć tego) – lindstromhenrik