我有2个项目,项目A和项目B.
在项目A中,我有一个用Myperson属性修饰的ClsPersoon类。
在项目B中,我使用项目A的exe文件的反射,我想选择具有customAttribute MyPerson的al类型,但是我在getCustomAttributes上遇到错误,因为项目B中不知道该属性。
如何在两个项目之间没有参考的情况下解决这个问题?
答案 0 :(得分:2)
如果您愿意匹配名称,那么Attribute类上有静态方法可以获取特定目标的自定义属性:
static IEnumerable<Type> TypesWithAttribute(Assembly a, string attributeName )
{
return
a
.GetTypes( )
.Where
(
t =>
Attribute
.GetCustomAttributes( t )
.Any
(
att =>
att.GetType( ).Name == attributeName
)
);
}