一、什麼是C#反射(Reflection)
定義:屬性提供了一種將後設資料或宣告性資訊與程式碼(程式集、型別、方法、屬性等)關聯的強大方法。
當一個屬性與一個程式實體相關聯後,可以使用一種叫做 反射
反射是C#提供的一種強大機制,它允許在程式執行時獲取關於程式集、型別和成員的資訊,並且可以動態地建立型別的例項、呼叫方法和訪問屬性,而無需在編譯時就確定這些資訊。這種能力使得程式在執行時具有更大的靈活性和可擴充套件性。透過反射,可以執行以下主要操作:
- 動態建立型別的例項:可以使用反射動態地建立並初始化型別的物件。
- 呼叫方法和訪問屬性:可以在執行時檢查型別的方法和屬性,並動態地呼叫它們。
- 獲取型別資訊:可以獲取關於程式集、型別和成員的詳細資訊,這對於在執行時進行型別檢查和動態行為調整非常有用。