asp.net-core – ASP.NET核心查找所有程序集中的所有类类型
发布时间:2020-12-15 18:58:25 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试制作基于模块的.NET核心应用程序,我需要在所有程序集中查找特定类型的所有类.因为每个模块都将构建在自己的项目中. 但我无法在ASP.NET Core中看到/找到如何做到这一点?任何指针将不胜感激. 解决方法 要从一个程序集加载所有类,请参阅下面的代码.
我正在尝试制作基于模块的.NET核心应用程序,我需要在所有程序集中查找特定类型的所有类.因为每个模块都将构建在自己的项目中.
但我无法在ASP.NET Core中看到/找到如何做到这一点?任何指针将不胜感激. 解决方法
要从一个程序集加载所有类,请参阅下面的代码.在我的案例中,IProfile是我需要搜索的界面
var all = Assembly .GetEntryAssembly() .GetReferencedAssemblies() .Select(Assembly.Load) .SelectMany(x => x.DefinedTypes) .Where(type => typeof(IProfile).GetTypeInfo().IsAssignableFrom(type.AsType())); foreach (var ti in all) { var t = ti.AsType(); if (t.Equals(typeof(IProfile))) { } } 嗨leen3o,如果您有外部程序集或插件,您可以通过从程序集列表中迭代来获取所有类型. List<Type> typeToRegisters = new List<Type>(); foreach (var module in GlobalConfiguration.Modules) { typeToRegisters.AddRange(module.Assembly.DefinedTypes.Select(t => t.AsType())); } var entity-types = typeToRegisters.Where(x => x.GetTypeInfo().IsSubclassOf(typeof(IBaseDomainEntity)) && !x.GetTypeInfo().IsAbstract); 这里“IBaseDomainEntity”是我正在寻找的界面.我唯一关心的是效率,我没有检查过 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 使用t4从另一个程序集中读取web.config
- asp.net-mvc-3 – 使用Razor视图抛出有关DotNetOpenAuth.IE
- 水平asp.net菜单显示为垂直列表
- asp.net-mvc – MVC应用程序中的随机数生成
- 内容管理 – ASP.NET建议[已结束]
- 在ASP.NET Identity 2.0.0-beta1中禁用双因素身份验证
- .net – 编辑器模板不适用于DisplayFormat
- asp.net-mvc-3 – 对复选框不起作用的MVC不显眼的验证
- asp.net – 拒绝直接访问文件夹(仅允许通过应用程序)
- asp.net-mvc – asp.net mvc从包中排除css文件
推荐文章
站长推荐
- 认识ASP.NET配置文件Web.config
- asp.net-mvc – 使用ASP.NET MVC,如何在外部控制
- .NET Core技术研究-主机Host ASP.NET
- ASP.NET中TextBox使用Ajax控件显示日期不全的问题
- asp.net-mvc – 处理.NET MVC 2动作过滤器时的执
- .net – 使用COM注册托管程序集而不使用GAC
- asp.net-mvc-3 – 使用FluentValidation / MVC 3
- asp.net – 无法访问不可见时ASP Grid视图中的绑
- 如何组合WebResource.axd和ScriptResource.axd文
- 如何将焦点放在ASP.NET MVC页面上的JQuery Dialo
热点阅读