我有一个类如下:
public class Test
{
public string STR1{ get; set; }
public INT INT1{ get; set; }
public DOUBLE DBL1{ get; set; }
public DATETIME DT1{ get; set; }
}
通常,在保存对象之前,我需要检查此类中的所有属性,并在存在任何空/ null属性时返回警告消息。可以通过像这样简单地检查每个属性来轻松完成此操作:
if (string.IsNullOrEmpty(t.STR1))
return "STR1 is empty"
if (t.INT1 == 0)
return "INT1 = 0";
if (t.DBL1 == 0)
return "DBL1 = 0";
if (t.DT1 == DateTime.MinValue)
return "DT1 is empty"
但是如果我的类有更多属性,实际上现在它包含大约42个属性,并且仍在增长。所以我在考虑一种更“清洁”的方法来执行此检查,并且我找到了这个主题,它与我的问题非常相似:Reflection (?) - Check for null or empty for each property/field in a class? 但是这个解决方案不符合我的需求,因为我必须列出等于null/空字符串/0/DateTime.MinValue的值。
相信我,我想发布我的“尝试代码”,但我无法为此任务想出一个合理的LINQ查询(我是C#的新手)。
非常感谢任何帮助!
default()
进行检查,因为这是您每次使用的内容。 - Jeroen Vannevel