Est-il possible d'appeler une expression lambda sur un procédé objet d'une certaine façon afin que vous puissiez le faire ..C# Utiliser l'expression lambda pour obtenir le nom du paramètre de la méthode
(x => x.Property1)
qui devrait alors retourner PropertyInfo?
En ce moment, j'ai le ci-dessous:
public static class MethodSupport<T>
{
public static MethodInfo ActionInfo(Expression<Func<T, Action>> expression)
{
return MethodInfo<T>(expression);
}
public static MethodInfo MethodInfo<T>(LambdaExpression expression)
{
UnaryExpression unaryExpression = (UnaryExpression)expression.Body;
MethodCallExpression methodCallExpression = (MethodCallExpression)unaryExpression.Operand;
ConstantExpression methodCallObject = (ConstantExpression)methodCallExpression.Object;
MethodInfo interfaceMethodInfo = (MethodInfo)methodCallObject.Value;
Type implementedClassType = typeof(T);
MethodInfo implementedMethodInfo = interfaceMethodInfo.GetImplementingMethod(implementedClassType);
return implementedMethodInfo;
}
}
Ce qui me permet de revenir MethodInfo,
MethodInfo m = MethodSupport<ImageGalleryController>.ActionInfo(c => c.AttachExisting);
mais je veux quelque chose d'autre qui me permettra de revenir PropertyInfo pour une propriété donnée