asp.net-core – ASP.NET核心查找所有程序集中的所有类类型
发布时间:2020-05-23 09:28:10 所属栏目: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页面上使用框架?
- 实体框架 – 等同于.HasOptional在实体框架核心1(EF7)
- asp.net-mvc-3 – ASP.NET MVC 3和App_Code文件夹
- 如何在ASP.NET中使用HtmlGenericControl创建一个Paragraph(
- asp.net – 如何迭代DataTable中给定行中的所有项目
- asp.net-mvc – 对集合中的每个项目使用DisplayTemplate(wi
- 字符串 – 自定义Asp.net MVC 3编辑器模板没有被使用
- asp.net-mvc – 为什么编码逗号URL?
- asp.net-mvc – ServiceStack新服务并发ASP.NET MVC网站
- 如何在.NET MVC应用程序中包含社交媒体共享?
推荐文章
站长推荐
热点阅读
