运行下面的代码时,尽管存在具有正确属性分配的类,但永远不会返回类型。事实上,ATTR阵列总是具有0查找属性附加到类型的问题
Assembly a = Assembly.LoadFile(file);
foreach (Type t in a.GetTypes())
{
object[] attr = t.GetCustomAttributes(typeof(SchemeNameAttribute), false);
foreach (object attribute in attr)
{
SchemeNameAttribute schemeName = attribute as SchemeNameAttribute;
if (schemeName != null && schemeName.Name.ToLower() == brickName.ToLower())
{
return t;
}
}
}
的长度如果我改变它的使用方法:
object[] attr = t.GetCustomAttributes(false);
然后它拿起类型SchemeNameAttribute为类型之一的自定义属性,但
SchemeNameAttribute schemeName = attribute as SchemeNameAttribute;
始终为schemeName返回空值。
任何想法?