Я хотел бы обратиться за помощью в рефакторинге кода, который преобразует базовый класс в производный класс, а также имеет общий тип данных внутри в стороне.
базовый класс: производный класс rec01recommend_cases: VMRecommendation
public class VMRecommendation<DataType>:rec01recommend_cases where DataType:class
{
public DataType Data { get; set; }
}
Промежуточный класс:
public class VMJoinRecomendation<DataType> where DataType:class
{
public rec01recommend_cases rec01recommend_cases { get; set; }
public DataType Data { get; set; }
}
Код отображения:
IList<VMJoinRecomendation<orp02memo_types>> join = qMainCase.Join(qDataList, x => x.rec01ref_id, y => y.orp02uin, (query1, query2) => new VMJoinRecomendation<orp02memo_types>() { rec01recommend_cases = query1, Data = query2 }).ToList();
IList<VMRecommendation<orp02memo_types>> target = new List<VMRecommendation<orp02memo_types>>();
Parallel.ForEach(join, current =>
{
VMRecommendation<orp02memo_types> t = Mapper.Map<VMRecommendation<orp02memo_types>>(current.rec01recommend_cases);
t.Data = current.Data;
target.Add(t);
});
return target;
Я хотел бы найти способы оптимизации производительности и минимизации кода