Pregunta

Quiero crear expresión de Lambda que proporcione nombre de propiedad, un valor (como cadena) y tipo de propiedad (como tipo).

El problema con eso está en línea Expression.Constant(value1, propertyType);
Value1 que se pasa a foo es cadena. y debe analizarse con el tipo "desconocido"

static Expression<Func<T, bool>> LabmdaExpression<T>(string property1, string value1, 
                                                     Type propertyType)
{                              
    var parameterExpression = Expression.Parameter(typeof(TheObject), "o");
    var memberExpression1 = Expression.PropertyOrField(parameterExpression, property1);

    //casting?
    var valueExpression1 = Expression.Constant(value1, propertyType);

    var binaryExpression1 = Expression.GreaterThan(memberExpression1, valueExpression1);
    return Expression.Lambda<Func<T, bool>>(binaryExpression1, parameterExpression);
}

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top