【发布时间】:2011-08-22 15:36:41
【问题描述】:
我正在验证一些属性,我需要知道其他层是否设置了长值或整数值。
比如这个类::
public class Person
{
public int Age {get;set;}
}
当我设置 Person 的新实例时,Age 的值为 0。但我必须验证是否设置了 Age ,因为 Age 可以为零(当然不是在这种情况下)。
我想到的一个解决方案是将 int 用作可为空的整数 (public int? Age) 并在 Person 的构造函数中将 Age 设置为空。
但我试图避免它,因为我必须更改太多类来检查是否 Age.HasValue 并将其用作 Age.Value。
有什么建议吗?
【问题讨论】:
-
您必须更改许多类的事实是一个弱论据,因为任何可能的解决方案都将涉及相当大的变化。
-
听起来您希望您的值类型具有额外的“可为空”状态。当然,这正是
int?的用途。
标签: c# properties