Я пытаюсь создать метод, который создает URL на основе имени контроллера и имени действия.Я не хочу использовать магические строки, поэтому я думал о методе, принимающем лямбда-выражение в качестве параметра.
Сложность в том, что я не хочу указывать какие-либо параметры в методе действия.Так, например, если у меня есть этот контроллер:
public class HomeController : IController
{
public Index(int Id)
{
..
}
}
Я хотел бы вызвать метод следующим образом:
CreateUrl<HomeController>(x=>x.Index);
Подпись метода, который я придумал:
public string CreateUrl<TController>(Expression<Action<TController>> action) where TController : IController
Но это не решает проблему пропуска параметров.Мой метод может быть вызван только с параметром, указанным так:
CreateUrl<HomeController>(x=>x.Index(1));
Можно ли указать действие или метод на контроллере без необходимости установки параметров?