简短的答案是肯定的。
当您使用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; }
}