反射是.net中非常有用的特性。
可以用一句話來概括就是:基於組件和元資料#,可以#動態建立某個類型的實例,呼叫方法,和存取物件成員的一種能力。
在編譯時無法確定要呼叫的物件的時候,就必須使用反射。
最常見的應用場景有:
1,基於工廠模式實現的資料庫切換。
2,ORM框架,因為它要面對的是通用的模型,所有的屬性或方法都是動態產生的。
3,基於插件的系統,在完全不知道外部插件究竟是什麼東西的情況下,是一定無法在編譯期確定的,因此會使用反射進行載入。
由於反射是基於組件和元資料的,所以有必要解釋一下什麼是組件,什麼時元資料。
組件:組件是所有類型的集合,編譯後產生PE檔(例如執行檔.exe和類別庫檔.dll)。
元資料:元資料是程式集中的一部分,主要包含了名稱,版本,語言文化和公鑰標記等資訊。
以上是.net中非常有用的特性--反射的詳細內容。更多資訊請關注PHP中文網其他相關文章!