HzyAdminMvc/HZY.Infrastructure/ObjectMapper.cs

(完整代码) 1KB

using System;
using System.Collections.Generic;
using System.Text;
using AutoMapper;

namespace HZY.Infrastructure;

/// <summary>
/// 对象映射类
/// </summary>
public static class ObjectMapper
{
    /// <summary>
    /// copy object
    /// </summary>
    /// <typeparam name="TOld">旧对象类型</typeparam>
    /// <typeparam name="TNew">新复制对象类型</typeparam>
    /// <param name="source"></param>
    /// <returns></returns>
    public static TNew MapTo<TOld, TNew>(this TOld source)
    {
        if (source == null) return default;

        var config = new MapperConfiguration(cfg => cfg.CreateMap<TOld, TNew>());
        var mapper = config.CreateMapper();

        return mapper.Map<TNew>(source);
    }

    /// <summary>
    /// copy list
    /// </summary>
    /// <typeparam name="TOld">旧对象类型</typeparam>
    /// <typeparam name="TNew">新复制对象类型</typeparam>
    /// <param name="source"></param>
    /// <returns></returns>
    public static List<TNew> MapToList<TOld, TNew>(this IEnumerable<TOld> source)
    {
        if (source == null) return default;

        var config = new MapperConfiguration(cfg => cfg.CreateMap<TOld, TNew>());
        var mapper = config.CreateMapper();

        return mapper.Map<List<TNew>>(source);
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。