Alasan orang waspada menggunakan refleksi yang tidak perlu bukanlah kinerja: ya, ada beberapa overhead untuk menggunakan refleksi, tetapi seringkali, menyelesaikan masalah tanpa itu memerlukan pendekatan yang berbeda dengan kompleksitas yang sebanding, dan bahkan jika tidak, biaya overhead adalah jarang signifikan (terutama untuk pengembangan tingkat aplikasi).
Menggunakan refleksi, beberapa asumsi penting yang biasanya dapat dibuat tentang kode sumber rusak, dan alat-alat seperti "Temukan Semua Referensi" berhenti bekerja dengan andal. Refleksi pada dasarnya juga menghapus sebagian besar jenis keselamatan yang diberlakukan oleh kompiler, katakanlah, C #, dan sebagian besar kesalahan pemrograman yang biasanya ditemui oleh sistem tipe dan diterjemahkan ke dalam kesalahan kompiler, sekarang menjadi kesalahan runtime yang terbaik atau bug yang sangat tidak jelas yang terburuk.
Jadi mengapa orang menggunakan refleksi itu? Sederhananya, karena meskipun masalah yang dijelaskan di atas, itu adalah alat yang sangat berharga. Dengan refleksi, beberapa manfaat pemrograman dinamis dapat dimiliki dalam bahasa statis yang diketik dengan ketat seperti C #, dan bahasa pemrograman dinamis telah menunjukkan kemampuannya baru-baru ini, terutama dalam bidang pemrograman web - PHP, Javascript, dan Python yang cukup menonjol , semua menggunakan pengetikan dinamis, dan telah terbukti cocok untuk pemrograman web. Tetapi karena bahasanya masih C #, Anda dapat memilih untuk menyimpan sebagian besar aplikasi Anda dalam idiom OOP yang diketik dengan ketat, dan menulis bagian kecil di mana perilaku dinamis benar-benar membuat perbedaan dengan refleksi.
Contoh khas adalah ketika Anda perlu mengekspos metode sebagai panggilan layanan web (menggunakan protokol yang belum dibangun ke dalam .NET). Pendekatan OOP yang diketik secara ketat memang berhasil, tetapi terlalu ketat dan kaku. Tetapi jika Anda menggunakan refleksi untuk memetakan panggilan ke metode dan pasangan kunci / nilai untuk argumen, Anda bisa menulis pipa ledeng untuk layanan web seperti itu sekali dan kemudian menggunakannya pada kelas yang Anda suka.