使用Emit Mapper自动映射不同类的属性值

应用场景:

// class A 和 class B有一样的属性,
A a = new A(); B b = new B();

// 要把a的值赋给b(传统方法通过反射遍历A和B的所有属性,然后逐一赋值)
...

// Emit Mapper改变了一切
b = ObjectMapperManager.DefaultInstance.GetMapper<A, B>(new DefaultMapConfig().NullSubstitution<string, string>(s => "")).Map(a);


可以定义映射规则:

new DefaultMapConfig();

支持的方法

描述

ConvertUsing

为指定的成员提供自定义的转换逻辑

ConvertGeneric

为指定的泛型类型成员提供自定义的转换逻辑

ConstructBy

为目标对象使用指定的构造函数替代默认构造函数

NullSubstitution

当源对象中指定的成员在为null时,给目标对象的成员赋值

IgnoreMembers

忽略指定成员的映射

PostProcess

在映射完成后执行指定的方法

ShallowMap

指定的成员采用浅拷贝方式映射

DeepMap

指定的成员采用深拷贝方式映射

MatchMembers

如果成员名称的映射不采用精确匹配,可以指定具体的映射逻辑




   

你可能感兴趣的:(String,null,Class)