Description
The idea here is to add some process to how we govern features that go into the DI abstraction by having the authors of dependency injection containers be the gate for new features. The original goal of the abstraction was to support a minimal set of features that most container authors could implement directly or via a small bridge (the initial feature set was designed looking at existing container implementations). Over the last couple of releases, we've had a couple of stalled feature requests because of this:
- Add support for dependency injection of Func<TService> parameters extensions#2475
- Adding support for constrained open generics extensions#536
Currently our stance is that we will not add any more features unless containers that already support the current abstraction continue to work. I'd like to formalize that process a bit more and have container authors that support the MEDIA (Microsoft.Extensons.DependenyInjection.Abstraciton) chime in on what their thoughts are.
Here's my proposal for the initial set of people:
Unity - @ENikS
Autofac - @tillig, @alexmg
LightInject - @seesharper
Lamar, StructureMap - @jeremydmiller
DryIoc - @dadhi
StashBox - @z4kn4fein
Grace - @ipjohnson
Please let me know if I've left somebody out the list here is based on my history of working on this project and having these contributors involved (this it the OG list 😄). This is an open discussion so I don't want to dictate what the process should be (though I have some ideas). Lets try to come up with something concrete based on the following example:
There's a discussion about Func<T>
. There's a pull request open that seems to pass all the tests. Lets come up with how we would evaluate and accept/reject features like this.