In the #java and #csharp OOP programming languages, #reflection is used to not only review an object’s private fields and methods, but also to access and change them.
This is used for instance by large #dependencyinjection libraries and frameworks, by preprocessors, and of course by the standard library itself.
It is dangerous because it can break a class’ definition of what should be private and inaccessible.
I released v2 of Annotated Container! It is a pretty big milestone for a project I've spent a lot of time working on. Getting this release out allows me to start thinking about how to continue improving the library.
To commemorate the occasion I wrote a deep-dive article on how Annotated Container handles autowiring.