Wov*_*les 3 c# custom-attributes system.reflection .net-standard
我想使用C#的反射和自定义属性来简化使用中央管理类注册一系列类型(即它提供了采用字符串键并调用/检索相关类型的正确方法/参数的静态方法).看看这里的其他问题和其他地方的几个地方,似乎最好的方法是简单地遍历所有公共类型的程序集 - 因为它打算成为一个库 - 并检查每种类型是否具有正确的在将相关值添加到基础词典之前的属性.反射和迭代肯定会很慢,但我可以忍受它,因为它应该只发生一次.
不幸的是,我无法弄清楚如何从类型中获取属性.对于方法和程序集,我可以使用CustomAttributeExtensions.GetCustomAttribute<MyAttribute>(base)
from System.Reflection.Extensions
,但是不提供重载Type
; 与此问题中使用的相同Assembly.GetCustomAttribute(Assembly, Type)
和.IsDefined(...)
方法相同.其他建议使用自己的方法,从文档中看起来似乎是从中加载的,但是即使在添加引用之后它似乎也没有出现在Intellisense中,我不确定.dll是如何与.NET交互的标准,无论如何(因为它会降低在任意平台上运行的能力吗?) Type
mscorelib.dll
我错过了一些明显的东西,还是真的难以Attribute
退出Type
?
归档时间: |
|
查看次数: |
1952 次 |
最近记录: |