我有三个类:ToBeMum
、NewMum
和ExperiencedMums
。这些类有不同的方法,它们做同样的事情,但它们的参数不同。如何重组代码以避免在所有三个类中复制/粘贴?例如:
新妈妈:
public List<Question> GetMotherActualDayCareAge()
{
List<QuestionInfo> mumsHabits;
var answers = Answers.GetAnswers;
string answerValue = string.Empty;
var oneA = from a in answers
where a.Questionid == "Q49d"
select new QuestionInfo { questionId = a.Questionid, userId = a.UserId };
var oneB = from a in answers
where a.Questionid == "Q65d"
select new QuestionInfo { questionId = a.Questionid, userId = a.UserId };
var temp = oneA.Union(oneB).ToList();
mumsHabits = temp.Intersect(mothers, new UserIdEqualityComparer()).ToList();
return mumsHabits;
}
经验丰富的妈妈
public List<QuestionInfo> GetMotherActualDayCareAge()
{
List<QuestionInfo> mumsHabits;
var answers = Answers.GetAnswers;
string answerValue = string.Empty;
var oneA = from a in answers
where a.Questionid == "Q49c"
select new QuestionInfo { questionId = a.Questionid, userId = a.UserId };
var oneB = from a in answers
where a.Questionid == "Q65c"
select new QuestionInfo { questionId = a.Questionid, userId = a.UserId };
var temp = oneA.Union(oneB).ToList();
mumsHabits = temp.Intersect(mothers, new UserIdEqualityComparer()).ToList();
return mumsHabits;
}