【发布时间】:2018-03-01 15:15:47
【问题描述】:
我有一个包含多个项目的应用程序。当然,每个项目都会创建自己的 dll。然后我们可以使用AppDomain.CurrentDomain.GetAssemblies().ToList() 让所有程序集使用反射,原因有很多。
AppDomain.CurrentDomain.GetAssemblies() 将扫描存在的每个程序集,包括标准程序集(如 Microsoft 的程序集)或我们使用 Nuget 的其他依赖项管理工具提取的程序包。如果我只想扫描我的项目 dll 而不是其他项目怎么办?
有没有办法给我的项目一个共享类型然后寻找那个共享类型?不幸的是,我的项目没有通用名称架构来扫描名称以查找以此处开头或结尾的内容。
【问题讨论】:
-
你可以完全按照你的建议去做。声明一个通用的自定义属性并将其应用于所有程序集。
-
我会在哪里声明呢?你有例子吗?
-
也许可以选择
AssemblyInfo.CompanyName? -
只需在新程序集中创建一个自定义属性类型,然后在所有其他程序集中引用并应用它。
-
@MikeA,如果你付给我 500 美元,我会让你知道如何search Stackoverflow for useful information 的秘密;-)
标签: c# .net vb.net reflection .net-assembly