反射 (Reflection) 實際應用

  • 2499
  • 0
  • 2012-09-11

反射 (Reflection) 實際應用 動態

反射 (Reflection) :

以文字(Namespace+ClassName)替代類別名稱(以文字映射到欲使用之類別),以產生新物件。

 

目的:

做到多DLL動態替換。

 

以下範例為實作:

動態更換DLL,利用設定config來達成此功能。

1.所有使用的類別及介面

2.因為為了要達到多DLL動態替換,故必先建立接口(規則)

建立Interface物件,建立public interface IMathematics

IMathematics.cs

3要替換的物件。需實作一物件並實現Interface.IMathematics

並所有替換的物件都必須為相同的Namespace

註:Interface是一種規則,要實踐多型必須實現Interface,這也是方法之一。

Mathematics.cs

 

4.Reflection調用(主程序)

4.1主程序

Program.cs

4.2 config設定

App.config

 

小伙的實作源碼,有需要請自取 ReflectionTest.rar

以上為反射 (Reflection) 實際應用的範例,若有錯誤及問題再麻煩不吝指教。

參考:http://www.dotblogs.com.tw/atowngit/archive/2010/06/10/15783.aspx#42942

 

By-藍小伙