2009-12-28 78 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)) 
{ 

} 
相關問題