我一直在使用Omu.ValueInjecter一段时间,但只是将值“注入”新创建的对象。
public K MapNew(T source) {
K target = new K();
target.InjectFrom(source);
return target;
}
上面的代码运行良好,将值从源映射到新创建的目标。
然而,我正在尝试(并且未能做到)的是将源对象中的值映射到现有目标。下面的代码类似于上面的代码,但我没有创建新对象。
public T MapToTarget(T target, K source) {
return target.InjectFrom(source) as T;
}
这可能吗?上面的代码只返回目标,其属性未经修改。
修改
注意,在这两种情况下,源对象和目标对象都具有相同的属性名称。
注意
感谢Omu的所有帮助,非常感谢。
答案 0 :(得分:1)
InjectFrom()
方法匹配具有相同名称和类型的属性,因此如果有匹配的属性,则会对其进行修改
使用valueinjecter只注入现有对象