public override bool HasValue(object obj) { if (this.m_typeCode != 0) { IPropertyStore propertyStore = ((ReportObject)obj).PropertyStore; switch (this.m_typeCode) { default: return(propertyStore.ContainsObject(this.m_index)); case PropertyTypeCode.Boolean: return(propertyStore.ContainsBoolean(this.m_index)); case PropertyTypeCode.Integer: case PropertyTypeCode.Enum: return(propertyStore.ContainsInteger(this.m_index)); case PropertyTypeCode.Size: return(propertyStore.ContainsSize(this.m_index)); } } return(this.m_property.GetValue(obj, null) != null); }