From Zero to Hero: Reflection in .NET

Master the art of Reflection in .NET using C# and make the impossible, possible

About This Course

Reflection makes programming feel like magic, even more than it already does. It allows developers to gain access to programming capabilities, that compile time safety might not allow. Reflection is used everywhere, and it is the glue that brings some of the most advanced features in .NET together to enable us to build APIs, web applications, mobile apps, desktop apps, and so much more. Knowing how to use reflection is one thing, but very few developers fully understand it and use such a powerful tool responsibly. In this course, Microsoft Principal Software Engineering Manager Nick Consentino will teach you how to use reflection in your codebases correctly to build incredible software.

Course Curriculum

5h 18m 11 sections
Welcome
01:47 Free preview
What will you learn in this course?
02:29 Free preview
Who is the course for and prerequisites
02:24 Free preview
Teaching style
02:07 Free preview
Static, Dynamic, Strong, and Weak
04:21
Where does type information go?
03:30
What Is Reflection?
06:06
Example Use Cases
04:04
Looking Up Types
08:04
Filtering Type Information
12:03
Assembly Scanning
10:50
Example Application
15:48
Get members of type
14:54
BindingFlags
09:51
Properties & Fields: Get and Set
16:46
Calling Methods
09:46
Constructor Info
09:26
GetMember & InvokeMember
08:50
Example Application
15:05
What is an attribute
06:58
Restrict to certain constructs
05:50
Finding Attributes on Types
09:58
Example Application
10:39
Recap & Introduction
03:15
Activator Create Instance
09:47
Example Application
15:20
Checking For Generics
09:59
Using Generics From Reflection
07:57
Make Generic Instances
04:58
Type Discovery
07:38
Invoking Members
15:01
Construction
15:48
Unsafe Accessors
10:52
Unsafe Accessor Performance
13:37
Code Generation
08:28
Conclusion
03:46

Meet Your Instructor

Nick Cosentino

Nick Cosentino

Nick Cosentino is a Principal Software Engineering Manager at Microsoft and a .NET content creator. He manages the teams responsible for deploying the hundreds of services supporting the Microsoft365 suite of products to serve users across the planet. Nick brings his unique experiences to the Big Tech world having worked at a startup that scaled from a handful of employees to hundreds before it went public.

Nick runs a software engineering and dotnet-focused blog as well as a YouTube channel called Dev Leader. While he enjoys solving complex problems with software solutions, Nick is passionate about reducing barriers for people to get started on their software engineering journey.

View all courses by Nick Cosentino

What's New

Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn More
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn More
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn More
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn More
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn More