特定控制器的操作列表
问题描述:
我有一个控制器名称列表,然后将列出给定控制器(名称,GUID)中的所有操作。特定控制器的操作列表
找到的所有控制器列表here。
我也在阅读List all the actions on a controller with specific attribute这将符合我的目的,因为我还需要具有特定属性的动作。但是我只有选定控制器的名称/ GUID,而不是对象本身。
我的方案:用户选择一个控制器(级联下拉列表),然后从此控制器执行的操作来配置某些访问(和链接)。因此,我只需要具有自定义属性的操作。
答
您可以继续使用Reflection,就像您从组件中继承Controller的类型一样。一旦你的类型,你可以列举的方法:
foreach(MethodInfo method in myContollerType.GetMethods(BindingFlags.Public | BindingFlags.Instance))
{
}
而且,然后为每个方法,你可以得到所有的自定义属性:
foreach (var attribute in method.GetCustomAttributes(typeof(MyAttributeType),false))
{
}