Take a desk you want to work on and clear what you need to do that work
If you learn you need more space after doing what you've done so far, you take that phase of the projecrt off the desk (clearing the space again), go to the shelf you need to get the materiels you need to perform phase two and sit down to work on a clear desk.
THAT works for me (if it's correct)
Can you simplify what you just said for us non techies ?
Basically, reflection allows self-modifying code.
All these security exploits have used reflection in sneaky ways to get access to classes and data they’re not supposed to have access to.
Perhaps an analogy will help.
***
Scenario: Pointy-Headed Boss (PHB) says to Dilbert: “I need an employee to do ImpossibleTask. And no, you may not hire a new employee from outside.” Dilbert frantically searches the list of employees that he manages for one with the capability of handling ImpossibleTask, and tells that employee to perform ImpossibleTask on PHB’s behalf.
***
Dilbert is the “reflection class” for PHB in this scenario. He can “see into” the capabilities of the employees that he manages and “reflect” those capabilities back to PHB.
PHB doesn’t (have to) know (or care) which employee actually performs ImpossibleTask, as long as Dilbert finds one that does.
In sum, a “reflection” class has the capability of inspecting the attributes (data) and behaviors (actions) of another class and providing that information to another class that requests it.
RAM is more-or-less right there, whereas hard drive data has to be found and transferred into RAM for work to be done.