给定3个班级,
A 和 B 各有一个 ID 属性,然后是各种其他属性
和 C,它有一个 ID,以及 A 和 B 的组合属性,
我想要
C.InjectFrom(A);
C.InjectFrom(B);
这样来自 A 的 ID 将被保留而不被 B 覆盖。
显然,在这个简单的情况下,我可以颠倒两个调用的顺序,但在我的真实示例中,它稍微复杂一些,我不能只解决排序问题。
从本质上讲,我希望第二次注入忽略第一次注入已经处理的任何内容,并且这可能会延续到多次注入的链中。其中一些注入也可能来自相同的对象
C.InjectFrom(A);
C.InjectFrom<SomeInjector>(A);
C.InjectFrom<SomeInjector2>(A);
C.InjectFrom<SomeInjector3>(A);
等等