Я хотел бы сделать что-то вроде следующего, и мне интересно, если кто-то знает, как это сделать:
Mapper.CreateMap<Worksheet, V2WorksheetModel>().If(pWorksheet=> pWorksheet.VisitLevel == 2);
Mapper.CreateMap<Worksheet, V3WorksheetModel>().If(pWorksheet=> pWorksheet.VisitLevel == 3);
Worksheet entityVisit2 = MyService.GetWorksheetByID(100); //visit level 2
Worksheet entityVisit3 = MyService.GetWorksheetByID(150); //visit level 3
WorksheetModelBase modelBase1 = Mapper.Map(entityVisit2);
WorksheetModelBase modelBase2 = Mapper.Map(entityVisit3);
Assert.True(modelBase is V2WorksheetModel);
Assert.True(modelBase2 is V3WorksheetModel);
Так что я бы хотел, чтобы Mapper.Map () возвращал правильное производноетип WorksheetModelBase.Это возможно?(Я знаю, что могу просто сделать оператор if в вызывающем коде, но было бы здорово, если бы я мог использовать эту строку Mapper.Map, чтобы вернуть правильный класс.)
Спасибо!