C# 两个实体之间相同属性的映射

实体 A

namespace MapClass.Models.A
{
    public class UsersModel
    {
        public int Id { get; set; }

        public string UserName { get; set; }
        public string FullName { get; set; }

    }
}


实体 B

namespace MapClass.Models.B
{
    public class UsersModel
    {
        public int Id { get; set; }

        public string UserName { get; set; }

    }
}


实现

static void Main(string[] args)
{

    Models.A.UsersModel AUser = new Models.A.UsersModel
    {
        Id = 1,
        UserName = "Admin",
        FullName = "管理员",
    };

    Models.B.UsersModel BUser = Mapping<Models.B.UsersModel, Models.A.UsersModel>(AUser);

    Console.WriteLine("Hello World!");
}

public static R Mapping<R, T>(T model)
{
    R result = Activator.CreateInstance<R>();
    foreach (PropertyInfo item in typeof(R).GetProperties())
    {
        PropertyInfo info = typeof(T).GetProperty(item.Name);
        if (info != null)
            item.SetValue(result, info.GetValue(model));
    }
    return result;
}


作者最新文章
C# 使用 CSVHelper 操作 csv 文件, .net core, .net framework 读取写入 csv 文件
C# 实现字符串文本换行的方法,文本如何换行
C# 如何循环读取文件每一行文本内容
C# DateTime AddMonths 的错误用法导致跳过日期
C# 全角转换半角,半角转换为全角