C#反射Assembly.Load("程序集").CreateInstance("命名空間.類")

在C#中,我們要使用反射,首先要搞清楚以下命名空間中幾個類的關系:


      System.Reflection命名空間


      (1)   AppDomain:應用程序域,可以將其理解為一組程序集的邏輯容器


      (2)   Assembly:程序集類


      (3)   Module:模塊類


      (4)   Type:使用反射得到類型信息的最核心的類


一個AppDomain可以包含N個Assembly,一個Assembly可以包含N個Module,而一個Module可以包含N個Type.


在程序中,如果我們要動態加載一個程序集怎么辦呢?有幾種方式可以使用,分別是Load,LoadFrom和LoadWithPartialName三個Assembly的靜態方法.


Assembly.Load方法:

        使用Assembly.Load加載程序集的順序是怎樣的呢?首先它會去全局程序集緩存查找,然后到應用程序的根目錄查找,最后會到應用程序的私有路徑查找


關于反射Assembly.Load("程序集").CreateInstance("命名空間.類")


      而不管在哪一層寫這段代碼其中的("程序集")讀取的實際是web層bin文件夾下的dll,也就是說你反射的類的程序集dll在web層的bin下必須有


      注意CreateInstance()一定是命名空間.類名,否則創建的實例為空


      Assembly.Load("程序集名")


      Assembly.LoadFrom("程序集實際路徑")





轉載請說明出處:原文鏈接 http://www.yixcsu.live/hdjs/137
標簽: C#

相關閱讀:

C# WinForm 關閉登陸窗體,打開主窗體的實現

動態調用WebService工具

aspx.net生成CSV數據供客戶端下載源碼例子

c# winform捕獲全局異常,并記錄日志

EF執行語句分析工具 MiniProfiler

大乐透专家预测 过年卖什么食品赚钱 王者荣耀新皮肤 小米路由挂赚钱宝无法upnp 极速快3 天刀如何跑商赚钱快 广东十一选五 论坛禁止赚钱网盘 130724中韩足球直播 秒速时时彩 本地微信直播怎么赚钱 在那个网站看竞彩比分 天天捕鱼 靠谱的app试用赚钱 奥迅球探比分直播 天津麻将赖子苹果 贵州快3