我有一些代码(用于帮助 url 路由)试图在控制器中找到一个操作方法。
我的控制器看起来像这样:
public ActionResult Item(int id)
{
MyViewModel model = new MyViewModel(id);
return View(model);
}
[HttpPost]
public ActionResult Item(MyViewModel model)
{
//do other stuff here
return View(model);
}
以下代码尝试查找与 url 操作匹配的方法:
//cont is a System.Type object representing the controller
MethodInfo actionMethod = cont.GetMethod(action);
今天这段代码抛出了一个System.Reflection.AmbiguousMatchException: Ambiguous match found
有意义的问题,因为我的两个方法具有相同的名称。
我查看了Type
对象的可用方法,发现public MethodInfo[] GetMethods();
似乎可以满足我的要求,但搜索具有特定名称的方法似乎没有重载。
我可以使用此方法并搜索它返回的所有内容,但我想知道是否有另一种(更简单)的方法来获取具有特定名称的类中的所有方法的列表,当有多个方法时。