【发布时间】:2011-08-12 11:01:02
【问题描述】:
我有这门课:
public class CalendarData_Day
{
public DateTime Date { get; set; }
public DayType TypeOfDay { get; set; }
public bool Choose { get; set; }
public CalendarData_Day(DateTime datum) : this(datum, DayType.Normal, true)
{
}
public CalendarData_Day(DateTime datum, DayType typDne) : this(datum, typDne, true)
{
}
public CalendarData_Day(DateTime datum, DayType typDne, bool vybran)
{
this.Date = datum;
this.TypeOfDay = typDne;
this.Choose = vybran;
}
}
我想在第二个构造函数中检查 DayType 是否是 Weekend,如果它不是发送到选择 true 而是 false。有人知道我该怎么做吗? 我知道我可以添加到最后一个构造函数 if 并检查,但它似乎不适合我。我认为有更好的方法我认为我应该以其他方式进行,或者在最后一个构造函数中可以吗:
if (TypeOfDay == DayType.Weekend)
this.Choose = false;
我知道它有效,但我不知道它是正确的方式。
编辑: 对不起,我没有解释一切。有超过 2 个 DayTypes,假设有 Holiday,Work,... 我希望用户可以使用第二个构造函数调用类,如果 DayType 是 Weekend 或 Holiday,那么 Choose 必须为 false,但如果它是 Normal 或工作它应该是真的,或者用户必须使用最后一个构造函数并将 DayType 设置为工作并选择为假。好复杂,不好意思第一次写。
【问题讨论】:
标签: c# class constructor