使用ValueInjecter,我經常發現自己寫這樣的代碼:內聯構造函數和InjectFrom調用返回的對象
var foo1 = new Foo().InjectFrom(foo2);
但是,出乎意料的是,使foo1是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);
和那些工作都如預期,但我很好奇。爲什麼第一種方式不起作用?
當然,我現在看到了不同。在第一種情況下,我將foo1的調用結果分配給InjectFrom(foo2),而不是構造函數。謝謝,這是一個正確的方向。 – wohanley