給定一個具有幾個構造函數的類 - 我如何告訴Resolve使用哪個構造函數?Unity.Resolve如何知道使用哪個構造函數?
請看下面的例子類:
public class Foo
{
public Foo() { }
public Foo(IBar bar)
{
Bar = bar;
}
public Foo(string name, IBar bar)
{
Bar = bar;
Name = name;
}
public IBar Bar { get; set; }
public string Name { get; set; }
}
如果我想創建一個使用解決如何將解決知道要使用哪個構造Foo類型的對象?我怎麼能告訴它使用正確的?假設我有一個IBar註冊的容器 - 它是否會理解它應該支持使用IBar的構造函數?如果我也指定一個字符串 - 它會使用(string, IBar)
構造函數嗎?
Foo foo = unityContainer.Resolve<Foo>();
並請忽略的事實,它可能會更容易,如果該類只是有一個構造函數...
太好了。謝謝..! – stiank81 2010-03-18 13:44:36
正是我在找的東西!我只是裝飾我想與[InjectionConstructor] – 2014-05-13 12:45:18
一起使用的構造函數這就是爲了節省一個週末的答案。明確定義。 – 2014-10-19 17:53:58