Pure.DI
Pure.DI copied to clipboard
Generic type composition root
For example:
interface IDependency;
class Dependency<T> : IDependency<T>;
interface IService<T>;
class Service<T>(IDependency<T> dependency) : IService<T>;
DI.Setup(nameof(Composition))
.Bind<IDependency<TT>>().To<Dependency<TT>>()
.Bind<IService<TT>>().To<Service<TT>>()
.Root<IService<TT>>("MyRoot");
var composition = new Composition();
var root = composition.MyRoot<int>();