C# “從元數據”


所謂元數據.其實是指由微軟所封裝的類..這些類你可以查看.但是無法修改。

元數據是一種二進制信息,用以對存儲在公共語言運行庫可移植可執行文件 (PE) 文件或存儲在內存中的程序進行描述。將您的代碼編譯為 PE 文件時,便會將元數據插入到該文件的一部分中,而將代碼轉換為 Microsoft 中間語言 (MSIL) 並將其插入到該文件的另一部分中。在模塊或程序集中定義和引用的每個類型和成員都將在元數據中進行說明。當執行代碼時,運行庫將元數據加載到內存中,並引用它來發現有關代碼的類、成員、繼承等信息。

元數據以非特定語言的方式描述在代碼中定義的每一類型和成員。元數據存儲以下信息:

  * 程序集的說明。
  o 標識(名稱、版本、區域性、公鑰)。
  o 導出的類型。
  o 該程序集所依賴的其他程序集。
  o 運行所需的安全權限。
  * 類型的說明。
  o 名稱、可見性、基類和實現的接口。
  o 成員(方法、字段、屬性、事件、嵌套的類型)。
  * 屬性。
  o 修飾類型和成員的其他說明性元素。

元數據的優點

對於一種更簡單的編程模型來說,元數據是關鍵,該模型不再需要接口定義語言 (IDL) 文件、頭文件或任何外部組件引用方法。元數據允許 .NET 語言自動以非特定語言的方式對其自身進行描述,而這是開發人員和用戶都無法看見的。另外,通過使用屬性,可以對元數據進行擴展。元數據具有以下主要優點:

  * 自描述文件。

  公共語言運行庫模塊和程序集是自描述的。模塊的元數據包含與另一個模塊進行交互所需的全部信息。元數據自動提供 COM 中 IDL 的功能,允許將一個文件同時用於定義和實現。運行庫模塊和程序集甚至不需要向操作系統注冊。結果,運行庫使用的說明始終反映編譯文件中的實際代碼,從而提高應用程序的可靠性。
  * 語言互用性和更簡單的基於組件的設計。

  元數據提供所有必需的有關已編譯代碼的信息,以供您從用不同語言編寫的 PE 文件中繼承類。您可以創建用任何托管語言(任何面向公共語言運行庫的語言)編寫的任何類的實例,而不用擔心顯式封送處理或使用自定義的互用代碼。
  * 屬性。

  .NET Framework 允許您在編譯文件中聲明特定種類的元數據(稱為屬性)。在整個 .NET Framework 中到處都可以發現屬性的存在,屬性用於更精確地控制運行時您的程序如何工作。另外,您可以通過用戶定義的自定義屬性向 .NET Framework 文件發出您自己的自定義元數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM