2009-12-28 76 views
1

我有一个控制器名称列表,然后将列出给定控制器(名称,GUID)中的所有操作。特定控制器的操作列表

找到的所有控制器列表here

我也在阅读List all the actions on a controller with specific attribute这将符合我的目的,因为我还需要具有特定属性的动作。但是我只有选定控制器的名称/ GUID,而不是对象本身。

我的方案:用户选择一个控制器(级联下拉列表),然后从此控制器执行的操作来配置某些访问(和链接)。因此,我只需要具有自定义属性的操作。

回答

6

您可以继续使用Reflection,就像您从组件中继承Controller的类型一样。一旦你的类型,你可以列举的方法:

foreach(MethodInfo method in myContollerType.GetMethods(BindingFlags.Public | BindingFlags.Instance)) 
{ 

} 

而且,然后为每个方法,你可以得到所有的自定义属性:

foreach (var attribute in method.GetCustomAttributes(typeof(MyAttributeType),false)) 
{ 

} 
相关问题