这是用c#编写的一段代码,我被卡住了[编辑]:
foreach (var property in this.allProperties)
{
var propertyItself = element.GetType().GetProperty(property.GetType().Name);
if (propertyItself.PropertyType != typeof(Int32))
{ continue; }
if (propertyType == 0)
{ return false; }
}
如果有人不这样做,可以帮助提供一些信息吗?提前谢谢!
答案 0 :(得分:3)
在评估属性的值之前,您需要调用PropertyInfo.GetValue
方法
if (propertyItself == typeof (Int32))
{
if((int) propertyItself.GetValue(element) == 0)
{
return false;
}
}
您也可以考虑提高表达式的可读性,正如我上面仅通过 评估该类型等于整数一样。