1. 程式人生 > >C#高階教程

C#高階教程

反射指程式可以訪問、檢測和修改它本身狀態或行為的一種能力。程式集包含模組,而模組包含型別,型別又包含成員。反射則提供了封裝程式集、模組和型別的物件。您可以使用反射動態的建立型別的例項,將型別繫結到現有物件,或從現有物件中獲取型別。然後可以呼叫其型別的方法或訪問其欄位屬性。

優缺點:

1.使用反射基本上是一種解釋操作,用於欄位和方法接入時要遠慢於直接程式碼。因此反射機制主要應用在對靈活性和擴充套件性要求很高的系統框架上,普通程式不建議使用。

2.使用反射會模糊程式內部邏輯,程式設計師希望在原始碼中看到程式的邏輯,反射卻繞過了原始碼的技術,因而會帶來維護的問題,反射程式碼比相應的直接程式碼更復雜。

反射(Reflection)的用途

允許在執行時檢視各種資訊

允許審查集合中的各種型別,以及例項化這些型別

允許延遲繫結的方法和屬性

允許在執行時建立新型別,然後使用這些型別執行一些任務