使用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; }