反射 (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-藍小伙