Использование типов в качестве параметра - PullRequest
0 голосов
/ 18 ноября 2018

Я использую AutoMapper dll. Попытка написать метод для отображения процесса.

    public ServiceResult<LoginModel> Login(LoginModel model)
    {
            //-----from here
            var config = new MapperConfiguration(cfg => {
                cfg.CreateMap<LoginModel, User>();
            });

            IMapper mapper = config.CreateMapper();
            var user = new User();

            var dest = mapper.Map<LoginModel, User>(model);
            //------ to here

            return new ServiceResult<LoginModel>(model);
    }

Так что мне нужно получить LoginModel, User и модель как динамические. Метод должен выглядеть следующим образом просто (только для примера, я не смог найти способ сделать это),

 public object Map(Type source, Type destination, object model)
{
        var config = new MapperConfiguration(cfg => {
            cfg.CreateMap<source, destination>();
        });

        IMapper mapper = config.CreateMapper();
        var user = new User(); (Model of [destination])

        var dest = mapper.Map<source, destination>(model);
        //map data from model to dest

        return new ServiceResult<LoginModel>(model);
}

1 Ответ

0 голосов
/ 18 ноября 2018

Вы можете изменить метод карты на общий:

public object Map<TSource, TDestination>(object model)
        {
            var config = new MapperConfiguration(cfg => {
                cfg.CreateMap<TSource, TDestination>();
            });

            IMapper mapper = config.CreateMapper();
            var user = new User();

            var dest = mapper.Map<TSource, TDestination>(model);
            //map data from model to dest

            return new ServiceResult<LoginModel>(model);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...