今天中午吃飯,突然有同事談到不知道程式集名是否也可以呼叫dll的公開方法。當時啞了,好久沒弄過反射,印象模糊了。回來試了一下,其實只要知道dll的命名空間和要呼叫的方法的類名就可以呼叫該方法了(注:非同一命名空間下,該dll的類和方法必須是公開的)。示例**如下:
建立乙個類庫,名稱為demolb,建立乙個類class1,寫個公開方法print(),該方法很簡單,就是定義乙個整數,然後輸出它的型別。
**namespace
demolb}}
將上面**編譯生成demolb.dll
建立csharpreflection控制台專案,將demolb.dll拷貝到csharpreflection專案的bin目錄,示例**如下:
**using
system;
using
system.collections.generic;
using
system.text;
using
system.reflection;
//引入反射命名空間
namespace
csharpreflection}}
參考資料:
示例源**:反射示例
反射使用的簡單例項
建立乙個程式集例項 定義乙個型別陣列並從程式集例項中獲得 type t a.gettypes 迴圈輸出型別陣列中的類的名稱 for int i 0 i 定義乙個方法資訊例項 並從程式集中指定名稱的類中指定名稱的方法獲得 system.reflection.methodinfo m a.gettype...
反射使用的簡單例項
建立乙個程式集例項 定義乙個型別陣列並從程式集例項中獲得 type t a.gettypes 迴圈輸出型別陣列中的類的名稱 for int i 0 i 定義乙個方法資訊例項 並從程式集中指定名稱的類中指定名稱的方法獲得 system.reflection.methodinfo m a.gettype...
簡單反爬蟲技術介紹
反爬蟲的技術大概分為四個種類 注 文末有福利!一 通過user agent來控制訪問 無論是瀏覽器還是爬蟲程式,在向伺服器發起網路請求的時候,都會發過去乙個標頭檔案 headers,比如知乎的requestsheaders accept encoding gzip,deflate,sdch,br a...