설정 나는이 수업이 있습니다C#을 생성자 두 번째 속성
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은 주말이면 나는 두 번째 생성자 체크에서 원하는하고 있는지 다음 사실이지만 잘못된 선택을 보낼 수 없습니다. 아무도 내가 어떻게 할 수 있는지 몰라? 만약 내가 마지막 생성자에 추가 할 수 있다는 것을 알았지 만 확인해 보았지만 나에게 맞는 것 같지 않습니다.
if (TypeOfDay == DayType.Weekend)
this.Choose = false;
내가 키우면 작동 알고 있지만 나는 그것이 올바른 방법을 알고하지는 : 나는 내가 그것을 다른 방법을하거나 마지막 생성자에 괜찮 이것입니다해야한다고 생각 더 좋은 방법이 있다고 생각합니다.
편집 : 모든 것을 설명하지 않아서 미안합니다. 거기에 2 DayTypes, 휴일, 직장, 말할 수 있습니다 ... 그리고 그 사용자가 단지 두 번째 생성자와 클래스를 호출 할 수 있고 주간 또는 휴일 주일 또는 휴일있을 경우 다음 false 선택해야합니다 있지만 정상 또는 작업이 사실이거나 사용자가 마지막으로 컨스트럭터를 사용해야하고 DayType을 Work로 설정하고 false로 선택해야합니다. 그것은 처음으로이 책을 쓴다면 유감 스럽다.
당신의 솔루션을 좋아하지만 유감스럽게도 단지 DayType.Weekend와 Normal이 아니라는 것을 잊어서 죄송합니다. 더 많은 유형이 될 수 있으므로 마지막 생성자에서 속성을 두 번 설정해야한다고 생각합니다. –
@ 비보 : 왜? 내 메소드는 당신이 묘사 한 것을 정확히 수행한다. 선택은'typeDne'이 Weekend이고 거짓이면 그렇지 않다. 그리고 다시, 마지막 생성자를 직접 호출했을 때 사용자가 넘겨 준 것을 오버라이드하고 싶은가? 그 * 정말 * 당신의 의도, 그것을 명확하게 질문을 편집하십시오. 사용자가 * 직접 * 새로운 CalendarData_Day (날짜, DayType.Weekend, true)를 호출하면 어떻게 될지 생각하십시오. –
주말은 항상 거짓이되어야하지만 어떤 경우에는 혼란 스러울 수 있으므로 내 게시물을 편집합니다. –