我有几个包含嵌套类和列表的模型。许多班级成员都有我必须阅读的属性。
我正在寻找一种动态方式(可能通过Linq或Reflection)来检索指定模型中所有通用对象的值和属性。
欢迎任何建议。
编辑:
根据x0r的建议使用ObjectManager,我可以看到所有数据。此问题的其余部分需要成员注释。有没有办法复制每个类成员的PropertyInfo?
ObjectWalker objectWalker = new ObjectWalker(objectToValidate);
foreach (Object o in objectWalker)
{
if (isGeneric(o.GetType()))
{
PropertyInfo property = o.GetType().GetProperty(o); // <-- This does not work... Need to obtain annotations somehow
object[] Attributes = property.GetCustomAttributes(typeof(Attribute), true);
foreach (Attribute attribute in Attributes)
{
// Annotations processing goes here
}
}
}
答案 0 :(得分:1)
它可以帮助您解析对象图并访问所有独特元素。 如您所见,它只存储一堆对象,而Current返回一个Object。
您可以对此进行修改,以便Walker保存一个包含每个属性所需的所有数据的类(如propertyinfo对象或属性列表)。