Reflection giver et program mulighed for at inspicere og manipulere typer, metoder og egenskaber ved runtime — selv dem der er ukendte ved kompileringstidspunktet. Attributes vedhæfter deklarativ metadata til kode, som værktøjer og frameworks læser (ofte via reflection) for at styre adfærd. Sammen driver de meget af .NET's framework "magi" (serialisering, DI, ORMs, validering).
Reflection — runtime inspektion og invokering
Type type = (User);
(PropertyInfo prop type.GetProperties())
Console.WriteLine();
(MethodInfo method type.GetMethods()) { }
instance = Activator.CreateInstance(type);
PropertyInfo p = type.GetProperty();
p.SetValue(instance, );
