我知道如何使用反射获取对象属性:
var properties = typeof(T).GetProperties();
现在,我如何知道属性[0]是否是字符串?或者可能是int?我怎么知道?
properties
的每个元素都将是一个PropertyInfo
,它有一个PropertyType
属性,指示属性的类型。
例如,您可以使用:
if (properties[0].PropertyType == typeof(string))
或者如果你想以允许继承的方式检查某个东西:
if (typeof(Stream).IsAssignableFrom(properties[0].PropertyType))