我有一个小问题,这里是我的代码:所需的日期时间(18年)
public partial class Tourist
{
public Tourist()
{
Reserve = new HashSet<Reserve>();
}
public int touristID { get; set; }
[Required]
[StringLength(50)]
public string touristNAME { get; set; }
public DateTime touristBIRTHDAY { get; set; }
[Required]
[StringLength(50)]
public string touristEMAIL { get; set; }
public int touristPHONE { get; set; }
public virtual ICollection<Reserve> Reserve { get; set; }
}
}
我怎样才能限制touristBIRTHDAY是18年老?我认为我必须使用这个功能,但我不知道该把它放在哪里: 注意:这个功能就是一个例子。
DateTime bday = DateTime.Parse(dob_main.Text);
DateTime today = DateTime.Today;
int age = today.Year - bday.Year;
if(age < 18)
{
MessageBox.Show("Invalid Birth Day");
}
感谢;)
更新: 我跟随Berkay Yaylaci的解决方案,但我得到一个NullReferenceException。这似乎是我的价值参数是默认的,然后我的方法不张贴,为什么?有什么解决方案?
谢谢!我做了你所说的,但有些工作不太好。例如,我创建了一个旅游者1,其中的生日是:10-05-1990,它的工作非常好。然后,我尝试创建一个Tourist 2,其中的生日是12-22-1994,它应该可以正常工作,但是会导致出现“用户代码未处理NullReferenceException”。为什么? 注意:NullReferenceException在“DateTime bday = DateTime.Parse(value.ToString());” – ElHashashin
@ElHashashin上弹出我猜这个格式是错误的。你检查了第一个的格式吗?是10月22日还是12月12日? – Berkay
格式是MM-DD-YYYY,所以它是12月22日 – ElHashashin