C# 通過反射建立例項

Whpitot發表於2018-01-28

C# 通過反射建立例項


應用場景

一個系統的業務功能往往會包含很多,而業務功能往往也會伴隨著經常調整、修改、重構的煩惱。如果當你需要一個功能,在後臺例項物件會變得非常的不靈活。怎麼在我們需要使用該功能的時候,就去例項物件,不需要的時候就可拋棄也不是影響呢。

前期準備

該應用的程式集 xx.dll 、以及功能名稱通常是xx.cs

具體實現

  • 獲取程式集物件
string filePath = Path.Conbine(AppDomain.CurrentDomian.BaseDirectory,assemblyName);
if(File.Exists(filePath))
    Assembly myAssembly = Assembly.LoadFile(filePath);
複製程式碼
  • 建立例項物件
Type myType = myAssembly.GetType(fileName,false,ture);
Form myForm = Activator.CreateInstance(myType) as Form;
複製程式碼

至此,用反射載入程式集來建立物件已經完成,我們就可以像操作普通類那樣進行操作了。

相關文章