Comments (1)
@zeromake Hi! Thank you for your interest.
I understand your problem. But I wouldn't want the code to be unable to be used without a container. This approach creates a direct connection between the container and the package that contains such a constructor. And if you use the constructor without a container, you will get a non-working code. I would like to avoid this.
On the other hand, this is an optional feature. This does not change the normal workflow. In general, it can be merged.
As an alternative, how do you look to introduce the di.ProvideValue()
with di.ResolvePublicFields()
provide option (need to think about naming):
di.ProvideValue(&Controller{}, di.ResolvePublicFields()),
If di.ResolvePublicFields()
is specified, the container will bypass the public properties of the type and inject dependencies in them without tags.
from di.
Related Issues (20)
- Unable to make interfaces group by using the same funtion interface implenentations HOT 11
- container.Resolve() doesn't create signleton when dependency requested via intermidiate constructor HOT 2
- No documentation for the *Container.Has() method HOT 1
- Using `di.WithName()` breaks when having one entry without a `di.Name()` HOT 7
- Parameter structs need an empty di tag on an entry else it gets ignored HOT 1
- Allow decorating of services in the container HOT 8
- concurrent map read and map write HOT 6
- Duplicate instance with di.As HOT 2
- Singleton HOT 1
- Handle embed unnamed dependency HOT 1
- Improve tracing HOT 2
- Support the ability to chain containers (to form scopes) HOT 3
- Change how Injected structs are tagged HOT 4
- Why should I pass a pointer to the type? HOT 2
- Possibility to disable singleton behavior. HOT 5
- Important: Upcoming Transfer of This Repository on June 5th
- Issue after package name migration HOT 4
- Provide values via custom string types HOT 2
- Overriding a value from a parent di container
- Factory function returning other di.Provide HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from di.