我想动态地分析对象树以进行一些自定义验证。验证本身并不重要,但我想更好地了解PropertyInfo类。
我会做这样的事情,
public bool ValidateData(object data)
{
foreach (PropertyInfo propertyInfo in data.GetType().GetProperties())
{
if (the property is a string)
{
string value = propertyInfo.GetValue(data, null);
if value is not OK
{
return false;
}
}
}
return true;
}
目前,我真正关心的唯一部分是“如果属性是字符串”。我如何从PropertyInfo对象中找出它是什么类型。
我将不得不处理一些基本的东西,例如字符串,整数,双打。但是我也必须处理对象,如果是这样,我将需要遍历这些对象内部的对象树以验证其中的基本数据,它们还将具有字符串等。
谢谢。