객관식 테스트를 위해 사람들을 도울 수있는 연습용 질문 세트를 생성하는 시스템의 질문 풀에 질문에 대한 정보를 저장하는 기본 유형이 있습니다. 그것에 저장된 유일한 정보는 응답, 프롬프트 및 질문 번호입니다. 나는 모의 테스트를 만들 때, 나는 (시험이 부분에서 취할 수 있습니다) 제출 대답을 저장하는 일부 속성 유형을 확대해야하고, 그래서 나는 다음과 같은 클래스 생성 : 부모 유형의 자녀를 인스턴스화
public class MultipleChoiceQuestion
{
public Int32 Number { get; internal set; }
public String Prompt { get; internal set; }
public MultipleChoiceAnswer[] Choices { get; internal set; }
// constructors, etc...
}
public class PracticeTestQuestion : MultipleChoiceQuestion
{
public MultipleChoiceAnswer AnswerSelected { get; set; }
// is this right?
public PracticeTestQuestion(MultipleChoiceQuestion question)
{
...
}
}
원래 내가 있었다를 PracticeTestQuestion의 멤버 인 MultipleChoiceQuestion이 있지만 속성 접근 자에 추가 점이 많이 추가되어 위에 나열된 클래스를 상속하도록 변경되었습니다. 현재 모든 생성자 라인에 속성 줄을 할당하고 있지만 일종의 성가신 느낌이 들며 더 좋은 방법이 있는지 궁금합니다.
C# 컴파일러는 좋은 이유로 업 사이징 형식을 좋아하지 않습니다. 그래서 제 질문은 PracticeTestQuestions를 MultipleChoiceQuestion 기본 형식에서 인스턴스화하는 가장 좋은 방법입니다.
고마워요, 그게 내가 한 일보다 훨씬 더 우아하고 재사용이 가능하니? –