Reflection یکی از زیباترین امکاناتی است که در برنامه نویسی .NET در اختیار ما قرار گرفته. هرگاه شما برنامهای مینویسید در واقع در حال ایجاد یک اسمبلی هستید. هر اسمبلی در کنار خود مقداری MetaData نگهداری میکنید که توصیفی از آن اسمبلی است. ابزار Reflection به ما اجازه میدهد در زمان اجرا این MetaDataها را بخوانیم و از آنها برای مسائلی که در حالت عادی بسیار دشوار حل میشوند، استفاده کنیم.