Unity . Func<IService> ( ServiceFactoryProxy) Unity, IService. .
Lazy<T>.
, Unity.
, Unity 3.0 .NET4, , - Unity .
Update2
, . IL-, :
public class MyContract_LazyInstantiationProxy : IMyContract
{
private readonly Lazy<IMyContract> instance;
public MyContract_LazyInstantiationProxy(Func<IMyContract> factory)
{
Guard.AssertNotNull(factory, "factory");
this.instance = new Lazy<IMyContract>(factory);
}
public IMyContract Instance
{
get { return this.instance.Value; }
}
public string Foo(Bar bar)
{
return this.Instance.Foo(bar);
}
}
, , .
TecX codeplex. - TecX.Unity.Proxies. , , TecX.Unity.Proxies.Test.