0

这是用 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; }
        }

如果有人不在此列,是否可以提供一些信息?提前致谢!

4

1 回答 1

3

您需要在像这样评估属性的PropertyInfo.GetValue之前调用该方法

if (propertyItself == typeof (Int32))
{ 
    if((int) propertyItself.GetValue(element) == 0)
    { 
        return false; 
    }
}

您也可以考虑通过仅评估类型等于整数来提高表达式的可读性,就像我在上面所做的那样。

于 2013-10-19T18:25:24.443 回答