Domanda

Voglio creare espressione Lambda che fornisce il nome di proprietà, un valore (come stringa) e il tipo di proprietà (come tipo).

Il problema è in linea Expression.Constant(value1, propertyType);
Valore1 che viene passato a foo è stringa. e deve essere analizzato al tipo "sconosciuto"

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);
}

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top