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;
複製程式碼
至此,用反射載入程式集來建立物件已經完成,我們就可以像操作普通類那樣進行操作了。