Lazy<T> allow us to load a class deferred. Or we can provide a Deferred Load function or loading factory to load it.
Main class Entry(with Lazy<T>):
Console.ReadKey();
}
static Func<ObjService> valfactory = new Func<ObjService>(ThisFactory);
static ObjService ThisFactory()
{
var a = new ObjDal("Test Funct");
return new ObjService(a);
}
}
}
ObjService.cs
public ObjService()
{
Dal = new ObjDal("Default");
Name = "Default";
}
public ObjService(ObjDal _dal)
{
Dal = _dal;
Name = Dal.Name;
}
}
public class ObjDal
{
public string Name { get;set;}
public ObjDal()
{
}
public ObjDal(string _name)
{
Name = _name;
}
}
}