博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 反射获取所有视图
阅读量:6428 次
发布时间:2019-06-23

本文共 2728 字,大约阅读时间需要 9 分钟。

原地址:忘了

controller 的 action 加上属性 [System.ComponentModel.Description("菜单列表")]  且  返回值为 System.Web.Mvc.ActionResult 类型,就可以获取到了

[System.ComponentModel.Description("菜单")]        public ActionResult Index()        {            return View(DbContext.Menu.Where(c=>!c.IsDelete).OrderBy(c => c.Sort).ToList());        }
View Code

 

///         /// 反射 获取方法        ///         /// 
public string GetMethodByReflect() { string strHtml = ""; var asm = System.Reflection.Assembly.GetExecutingAssembly(); System.Collections.Generic.List
typeList = new List
(); var types = asm.GetTypes(); foreach (Type type in types) { if (type.FullName.StartsWith("MyMVC.Controllers.") && type.FullName.EndsWith("Controller")) { typeList.Add(type); } } typeList.Sort(delegate (Type type1, Type type2) { return type1.FullName.CompareTo(type2.FullName); }); foreach (Type type in typeList) { System.Reflection.MemberInfo[] members = type.FindMembers(System.Reflection.MemberTypes.Method, System.Reflection.BindingFlags.Public | (System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly), Type.FilterName, "*"); //遍历成员 foreach (var m in members) { if (m.DeclaringType.Attributes.HasFlag(System.Reflection.TypeAttributes.Public) != true) { continue; } string controller = type.Name.Replace("Controller", ""); string action = m.Name; //str += $"{m.Name} - {type.FullName} - {m.DeclaringType.Attributes.ToString()}
"; MethodInfo method = type.GetMethod(m.Name); if ((method != null) && (method.ReturnType.ToString() == "System.Web.Mvc.ActionResult")) { var DescAttr = (System.ComponentModel.DescriptionAttribute)Attribute.GetCustomAttribute(m, typeof(System.ComponentModel.DescriptionAttribute)); if (DescAttr != null) { strHtml += $"{m.Name} - {DescAttr.Description} - {method.ReturnType.ToString()} -
"; } } } } return strHtml; }
View Code

 

转载于:https://www.cnblogs.com/guxingy/p/9466948.html

你可能感兴趣的文章
假如突然有了50块,你会做什么?
查看>>
Yii2.0中(Hash is invalid error)验证错误
查看>>
python
查看>>
UIApplication、AppDelegate、委托
查看>>
linux磁盘管理命令上
查看>>
1.11-变量有关内容
查看>>
基于VMware的超融合, 解析vSAN与SmartX ZBS 的优劣差异
查看>>
关于界面
查看>>
jQuery学习
查看>>
在javaee的三层结构中,为什么事物存在于业务层
查看>>
Android网络检测
查看>>
教你一招 Linux常见紧急情况处理方法
查看>>
Linux系统中Logrotate工具用法汇总
查看>>
ORACLE RMAN备份及还原
查看>>
大学的关键在大三
查看>>
JAVA常用集合总结 ArrayList
查看>>
疯狂Activiti6.0连载(3)Activiti开发环境搭建
查看>>
CentOS 7 vsftpd的安装和配置
查看>>
First blog with BloGTK2
查看>>
关于Linux网络配置
查看>>