Reflection in C#: 4 Simple But Powerful Code Examples