目錄前言
反射優點:
缺點:做過重構的人都知道,在重構中要用到反射,什麼時反射有很多人並不清楚,為了了解一下這個知識點,現在總結一下。
所謂反射就是在.net framework中提供的一種機制,在程式執行時能動態的引導程式集(assembly),載入型別,建立物件,呼叫成員。
程式集其實就是我們常見的一些dll檔案,從這些檔案中獲取資訊,說白了就是呼叫這個方法,程式集包括(型別元資料,程式集元資料,il**,資源檔案)程式集元資料中有很多資訊,比如公司明,版本號,命名空間等等,程式集在用之前已經是被.net編譯好的。程式集包括exe和dll檔案。
1、反射提高了程式的靈活性和擴充套件性。
2、降低耦合性,提高自適應能力。
3、它允許程式建立和控制任何類的物件,無需提前硬編碼目標類。
1、效能問題:使用反射基本上是一種解釋操作,用於欄位和方法接入時要遠慢於直接**。因此反射機制主要應用在對靈活性和拓展性要求很高的系統框架上,普通程式不建議使用。
2、使用反射會模糊程式內部邏輯;程式設計師希望在源**中看到程式的邏輯,反射卻繞過了源**的技術,因而會帶來維護的問題,反射**比相應的直接**更複雜。
可以從這裡看出,裡面包括很多的資料,其中包括了一些修飾符,物件,狀態之類的資料。以及返回型別。
C 反射技術應用
反 射 reflection 是.net中的重要機制,通過放射,可以在執行時獲得.net中每乙個型別 包括類 結構 委託 介面和列舉等 的成員,包括 方法 屬性 事件,以及建構函式等。還可以獲得每個成員的名稱 限定符和引數等。有了反射,即可對每乙個型別瞭如指掌。如果獲得了建構函式的資訊,即可直 接建...
反射(二)之 配置擴充套件應用
前言 前面學習了反射的基本正規化,並且做了一些嘗試,但遺留了乙個問題,反射有什麼作用,這裡將會用乙個例子來說明反射之assembly的強大與應用所在。目標實現乙個可配置 可擴充套件的應用,這也就是assembly載入dll的意義所在之一。正文1 建立乙個類庫,實現以下 介面類 namespace r...
反射的應用
demo.py中的程式 usr bin env python coding utf 8 deffoo print demo.foo 主程式 usr bin env python coding utf 8 str1 demo str2 foo module import str1 import dem...