¿Hay alguna forma de extraer las propiedades, el operador y el valor coincidente de Expression<Func<T>,bool>
? Teniendo en cuenta el siguiente ejemplo:¿Cómo se obtienen las propiedades, operadores y valores de un predicado Expression <Func <T, bool>>?
var customers = GetCustomers();
var customerQuery = customers.Where(x=> x.CustomerID == 1
&& x.CustomerName == "Bob"); // The query is for illustration only
que necesito para ser capaz de salir algo como lo siguiente:
Property: CustomerID
Operator: Equals
Value: 1
Property: CustomerName
Operator: Equals
Value: Bob
ya he escrito algo que se puede sacar el nombre de la propiedad de una expresión, pero Parece que no puedo encontrar dónde se guardan el valor y el operador, aunque es bastante visible en la propiedad DebugView de Expression.
Excelente, gracias. Solo tuve que convertir 'predicate' usando' (BinaryExpression) predicate.Body' y ahora todo es bastante obvio. Saludos, Marc. – GenericTypeTea