簡短的答案是肯定的。
當您使用Resolve方法時,這應該自動傳遞。
例如:
IUnityContainer container = new UnityContainer();
var something = container.Resolve();
另外,如果您想查看,這與Prism(CodePlex)使用的技術相同。
更新增加測試:
[TestClass]
public class Spike
{
[TestMethod]
public void unityTest()
{
var container = new UnityContainer();
var something= container.Resolve();
Assert.AreSame(container, something.Container);
// This passes. Success.
}
}
public class Something
{
public Something(IUnityContainer container)
{
Container = container;
}
public IUnityContainer Container { get; set; }
}