Guest User

Untitled

a guest
Feb 18th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. /// return Redirect(Url.Relative<ServerController>(v => v.ReadAll));
  2.  
  3. public static MethodInfo GetMethodInfo(LambdaExpression expression)
  4. {
  5. var unaryExpression = (UnaryExpression)expression.Body;
  6. var methodCallExpression = (MethodCallExpression)unaryExpression.Operand;
  7. var methodCallObject = (ConstantExpression)methodCallExpression.Object;
  8. var methodInfo = (MethodInfo)methodCallObject.Value;
  9.  
  10. return methodInfo;
  11. }
  12.  
  13. public delegate IActionResult Action();
  14.  
  15. public static string Relative<T>(this IUrlHelper hrmm, Expression<Func<T, Action>> expression)
  16. where T : Controller
  17. {
  18. var mi = GetMethodInfo(expression);
  19.  
  20. var controller = mi.DeclaringType.Name.Replace("Controller", "");
  21.  
  22. return hrmm.Action(mi.Name, controller);
  23. }
Add Comment
Please, Sign In to add comment