Reflektio antaa ohjelman tarkastella ja käsitellä tyyppejä, metodeja ja ominaisuuksia ajonaikaisesti — jopa sellaisia, joita ei tunneta käännösaikana. Attribuutit liittävät koodiin deklaratiivista metatietoa, jota työkalut ja viitekehykset lukevat (usein reflektion avulla) ohjatakseen käyttäytymistä. Yhdessä ne mahdollistavat suuren osan .NET:n viitekehysten "taikuudesta" (serialisointi, DI, ORM:t, validointi).
