Reflection एक प्रोग्राम को runtime पर types, methods, और properties का निरीक्षण और हेरफेर करने देता है — यहां तक कि वे जो compile time पर अज्ञात हैं। Attributes कोड में declarative metadata संलग्न करते हैं जिसे tools और frameworks पढ़ते हैं (अक्सर reflection के माध्यम से) व्यवहार को संचालित करने के लिए। मिलकर ये .NET के अधिकांश framework "जादू" को शक्ति देते हैं (serialization, DI, ORMs, validation)।
