使用PropertyInfo来查找属性types

我想dynamic地parsing一个对象树来做一些自定义validation。 validation并不重要,但我想更好地理解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; } 

真的,我现在唯一关心的部分是'如果财产是一个string'。 我如何从PropertyInfo对象中找出它是什么types的。

我将不得不处理诸如string,整数,双打等基本的东西。 但是我也必须处理对象,如果需要的话,我需要遍历这些对象内部的对象树来validation其中的基本数据,它们也会有string等。

谢谢。

使用PropertyInfo.PropertyType来获取PropertyInfo.PropertyType的types。

 public bool ValidateData(object data) { foreach (PropertyInfo propertyInfo in data.GetType().GetProperties()) { if (propertyInfo.PropertyType == typeof(string)) { string value = propertyInfo.GetValue(data, null); if value is not OK { return false; } } } return true; }