Pure.DI icon indicating copy to clipboard operation
Pure.DI copied to clipboard

Generic type composition root

Open NikolayPianikov opened this issue 4 months ago • 0 comments

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>();

NikolayPianikov avatar Mar 01 '24 10:03 NikolayPianikov