2011-07-01 29 views
3

的类型的属性我知道如何使用反射来获取对象的属性:知道一个对象C#

var properties = typeof(T).GetProperties(); 

现在我怎么知道,如果性能[0]是一个字符串?或者它可能是一个int?我怎么知道?

回答

10

properties的每个元素将是一个PropertyInfo,它具有PropertyType属性,指示该属性的类型。

因此,例如,你可以使用:

if (properties[0].PropertyType == typeof(string)) 

,或者如果你想检查在继承,允许个什么东西:

if (typeof(Stream).IsAssignableFrom(properties[0].PropertyType)) 
+3

西部最快的手指...... – Steve