我正在加载dll,如下所示,
Type[] _Type = Assembly.GetAssembly(typeof(StdAdapter)).GetTypes();
现在我想得到一个特定'类名'的所有属性,它们作为字符串传递。
请建议如何实现这一目标。
由于
答案 0 :(得分:1)
您可以使用
Type objectType = Type.GetType("ClassName");
当你得到这个时间时,可以使用该类型进行进一步反思:
objectType.GetProperties();
将返回属性。
这意味着您对数组的调用,您可以使用:
Assembly.GetAssembly(typeof(StdAdapter)).GetType("ClassName");
唯一的另一件事是循环遍历数组以找到正确的Type,不确定性能明智哪个更好,我会选择GetType()。
答案 1 :(得分:1)
Type.GetProperties()函数返回PropertyInfo对象的数组。
所以你会:
foreach(Type current in _Type)
{
PropertyInfo[] properties = current.GetProperties();
}
你也可以这样做:typeof(StdAdapter).GetProperties()
答案 2 :(得分:1)
您可以使用一点Linq to Objects来从数组中获取所需的类:
_Type.SingleOrDefault(t => t.Name == "CLASS_NAME").GetProperties();