.net中非常有用的特性--反射

來源:互聯網
上載者:User
  反射是.net中非常有用的特性。

什麼是反射

可以用一句話來概括就是:基於程式集和中繼資料,可以動態建立某個類型的執行個體,調用方法,和訪問對象成員的一種能力。

為什麼要使用反射

在編譯時間無法確定要調用的對象的時候,就不得不使用反射。

反射的應用情境

最常見的應用情境有:

1,基於原廠模式實現的資料庫切換。

2,ORM架構,因為它要面對的是通用的模型,所有的屬性或方法都是動態產生的。

3,基於外掛程式的系統,在完全不知道外部外掛程式究竟是什麼東西的情況下,是一定無法在編譯期確定的,因此會使用反射進行載入。

程式集

由於反射是基於程式集和中繼資料的,所以有必要解釋一下什麼是程式集,什麼時中繼資料。

程式集:程式集是所有類型的集合,編譯後產生PE檔案(例如可執行檔.exe和類庫檔案.dll)。

中繼資料:中繼資料是程式集中的一部分,主要包含了名稱,版本,語言文化和公開金鑰標記等資訊。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.