我编写此代码是为了在我的项目中查找控制器列表。 public IEnumerable<Type> GetControllerDescovery(Assembly assemblies) { var controllers = assemblies.GetExportedTypes() .Where(t => typeof(ControllerBase) .IsAssignableFrom(t)) .Select(t => t). ToList(); return controllers; }它向我展示了这个输出:"IranNews.Controllers.V1.CategoryController, IranNews, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null","IranNews.Controllers.V1.RoleManagerController, IranNews, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null","IranNews.Controllers.V1.UserController, IranNews, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null","IranNews.Controllers.V1.ValuesController, IranNews, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"但我需要从[Display(Name = "UserManager")]给我看这个:UserManager我怎样才能做到这一点 ?????
1 回答

MMMHUHU
TA贡献1834条经验 获得超8个赞
尝试这个:
typeof(ControllerBase) .GetProperties() .Select(x => x.GetCustomAttribute<DisplayAttribute>()) .Where(x => x != null) .Select(x => x.Name) .ToList();
更新: 这是一个工作示例:
Assembly.GetExecutingAssembly().GetExportedTypes() .Where(t => typeof(ControllerBase).IsAssignableFrom(t)) .Select(t => t.GetCustomAttribute<DisplayAttribute>()) .Where(x => x != null) .Select(x => x.Name) .ToList();
- 1 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消