Reflection memungkinkan program memeriksa dan memanipulasi tipe, metode, dan properti saat runtime — bahkan yang tidak diketahui saat compile time. Attributes melampirkan metadata deklaratif ke kode yang dibaca oleh alat dan framework (sering kali melalui reflection) untuk mendorong perilaku. Bersama-sama, mereka menggerakkan banyak "keajaiban" framework .NET (serialisasi, DI, ORM, validasi).
