Je ne sais pas où exactement avez-vous besoin d'expressions lambda dynamiques. Quoi qu'il en soit, la meilleure façon de générer dynamiquement des expressions lambda est d'utiliser des arbres d'expression. Voici deux bons tutoriels sur le sujet:
Ce code génère une expression lambda comme celle que vous avez demandé ("x => x.name «):
MemberInfo member = typeof(AClassWithANameProperty).GetProperty("Name");
//Create 'x' parameter expression
ParameterExpression xParameter = Expression.Parameter(typeof(object), "x");
//Create body expression
Expression body = Expression.MakeMemberAccess(targetParameter, member);
//Create and compile lambda
var lambda = Expression.Lambda<LateBoundGetMemberValue>(
Expression.Convert(body, typeof(string)),
targetParameter
);
return lambda.Compile();
espérons que cette aide
Merci pour le bel exemple! Cela m'a beaucoup aidé! –
Notez que le premier lien est mort –