ValueInjecter を使用すると、次のようなコードを書くことがよくあります。
var foo1 = new Foo().InjectFrom(foo2);
しかし、予想外に、foo1 は Foo ではなく Object 型になります。と同じ
var foo1 = (new Foo()).InjectFrom(foo2);
と
Foo foo1 = new Foo().InjectFrom(foo2);
コンパイルされません。簡単にできるから大したことじゃない
var foo1 = (Foo)new Foo().InjectFrom(foo2);
また
var foo1 = new Foo();
foo1.InjectFrom(foo2);
どちらも期待どおりに機能しますが、興味があります。最初の方法が機能しないのはなぜですか?