Маппинг обобщённых (generic) классов с помощью Mapster
Даны два класса:
public class ResultDto<TData>
{
public TData Data { get; set; }
public Dictionary<string, string> Errors { get; set; }
}
public class ResultAs<TResult>
{
public TResult? Value { get; set; }
public Dictionary<string, string>? ErrorParams { get; set; }
}
Хотелось бы написать конфигурацию маппинга для обобщённых классов. Думал, что будет работать вот так:
TypeAdapterConfig<ResultAs<object>, ResultDto<object>>
.NewConfig()
.Map(dest => dest.Data, src => src.Value)
.Map(dest => dest.Errors, src => src.ErrorParams);
Но так не работает.
Ответы (1 шт):
Автор решения: Дмитрий
→ Ссылка
Ответ на вопрос находится здесь - https://github.com/chaowlert/Mapster/wiki/Configuration#open-generics
Пример:
TypeAdapterConfig.GlobalSettings.ForType(typeof(ResultAs<>), typeof(ResultDto<>))
.Map("Data", "Value")
.Map("Errors", "ErrorParams")
.RequireDestinationMemberSource(true);