Omu.ValueInjecter:我可以将值映射到现有对象吗?

时间:2014-08-06 11:07:36

标签: c# valueinjecter

我一直在使用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的所有帮助,非常感谢。

1 个答案:

答案 0 :(得分:1)

InjectFrom()方法匹配具有相同名称类型的属性,因此如果有匹配的属性,则会对其进行修改

使用valueinjecter只注入现有对象