C 的反射技術詳解(一)

2021-03-31 14:51:27 字數 498 閱讀 3610

1。反射概述

公共語言執行庫

載入器管理應用程式域

。這種管理包括將每個程式集載入到相應的應用程式域以及控制每個程式集中型別層次結構的記憶體布局。

程式集包含模組,而模組包含型別,型別又包含成員。反射則提供了封裝程式集、模組和型別的物件。您可以使用反射動態地建立型別的例項,將型別繫結到現有物件,或從現有物件中獲取型別。然後,可以呼叫型別的方法或訪問其字段和屬性。反射通常具有以下用途:

system.reflection.emit

命名空間的類提供了一種特殊形式的反射,使您能夠在執行時構造型別。

反射也可用於建立稱作型別瀏覽器的應用程式,它使使用者能夠選擇型別,然後檢視有關選定型別的資訊。

反射還有其他一些用途。jscript 等語言編譯器使用反射來構造符號表。system.runtime.serialization 命名空間中的類使用反射來訪問資料並確定要持久儲存的字段。system.runtime.remoting 命名空間中的類通過序列化來間接地使用反射。

C 的反射技術詳解(二)

2。動態新增和使用型別 反射提供了由語言編譯器 例如microsoft visual basic 和jscript 用來實現隱式晚期繫結的基礎結構。繫結是查詢與唯一指定的型別相對應的宣告 即實現 的過程。由於此過程在執行時而不是在編譯時發生,所以稱作晚期繫結。visual basic 允許您在 中使...

C 的反射的詳解

反射的定義 審查元資料並收集關於它的型別資訊的能力。元資料 編譯以後的最基本資料單元 就是一大堆的表,當編譯程式集或者模組時,編譯器會建立乙個類定義表,乙個字段定義表,和乙個方法定義表等。system.reflection命名空間包含的幾個類,允許你反射 解析 這些元資料表的 如下所示 csharp...

C 反射技術應用

反 射 reflection 是.net中的重要機制,通過放射,可以在執行時獲得.net中每乙個型別 包括類 結構 委託 介面和列舉等 的成員,包括 方法 屬性 事件,以及建構函式等。還可以獲得每個成員的名稱 限定符和引數等。有了反射,即可對每乙個型別瞭如指掌。如果獲得了建構函式的資訊,即可直 接建...