What is Reflection?  - C# Gotcha Interview Questions
Channel: Ryan McBeth
Date: 2021-01-25

Reflection is a core concept in C# and Dotnet.  It allows you to peek inside an object to get its types, members and properties, and even dynamically access and execute what you found during runtime.

Reflection can even help prevent the "Code smell" of sprinkling Switch statements all over your code.

I remember reflection with the mnemonic "D-SIMPLE"  which stands for:
Dynamically 
See (and)
Invoke 
Members (and) 
Properties (for) 
Loading (and)
Examination

The code for this is available on github at:
https://github.com/mcbethr/AllAboutReflection/