ich versuche gerade in meiner ASP.NET Core Anwendung die ganzen Magic-Strings, welche im Zusammenhang mit Controller und Action Namen auftreten, zu refaktorisieren.
Bisher habe ich das immer so gemacht:
RedirectToAction<ProductsController>(nameof(ProductsController.Details), new { id = 1234 });
public static string ControllerName<TController>() => typeof(TController).Name.TrimEnd("Controller");
RedirectToAction<ProductsController>(pc => pc.Details, new { id = 1234 });
Also so:
protected RedirectToActionResult RedirectToAction<TController>(Expression<Func<TController, Func<IActionResult>>> action);
protected RedirectToActionResult RedirectToAction<TController>(Expression<Func<TController, Func<int, IActionResult>>> action);
Ich bin leider nicht so fit mit Expressions, gibt es da eventuell etwas mit dem ich den Namen einer Methode zurückbekommen kann?
Oder gibt es überhaupt für mein Grundprobem (Magic-Strings) eine komplett andere Lösung?
Schöne Grüße,
Xan