Reflection چیست؟
Reflection اشیایی (از نوع Type) ارائه می دهد که مجموعه ها، ماژول ها و انواع را توصیف می کنند. ما می توانیم از Reflection برای ایجاد یک نمونه از یک نوع به صورت داینامیک استفاده کنیم ،یک نوع را به یک شی موجود متصل کنیم، یا نوع یک شی موجود را دریافت و متدهای آن را فراخوانی یا به فیلدها و خصوصیات آن دسترسی پیدا کنیم. اگر از attribute یا صفت ها در کد خود استفاده کنیم، Reflection به ما امکان دسترسی به آنها را می دهد.
کاربردهای استفاده از Reflection در سی شارپ
- زمانی که باید به ویژگی های موجود در metadata برنامه خود دسترسی داشته باشیم.
- برای بررسی و نمونه سازی انواع در یک assembly
- برای ساخت انواع جدید در زمان اجرا. از کلاس System.Reflection.Emit استفاده می شود.
- دسترسی به متدهادر نوع های ایجاد شده در زمان اجرا.