lsoft / DpdtInject

Highly efficient compile-time general purpose DI container based on C# source generators.
https://www.nuget.org/packages/Dpdt.Injector/
MIT License
32 stars 3 forks source link

check for constructor arguments setting is working in conventional binding clause #58

Open lsoft opened 2 years ago

lsoft commented 2 years ago

like https://github.com/lsoft/DpdtInject#constructor-choosing

//the following statement will bind A0 and A2; A1 will be excluded due to IExclude<>
ScanInAssembliesWith<A0>()
    .SelectAllWithOpenGeneric<IA<object, object>>() //generic arguments 'object' means NOTHING! it will be removed by Dpdt, so IA<object, object> will be transformed into IA<,> (open generic)
    .ExcludeAllWithOpenGeneric<IExclude<object, object>>() //again, 'object' means nothing, as above
    .FromAllInterfaces()
    .ToItself()
    .WithSingletonScope()
    .Setup<SubsetNoOrderConstructorSetting<int, long>>() // <------------------------
    ; 

CHECK IF IT WORKS ALREADY AND WRITE A TEST IF SO!