我想在運行時使用反射來加載類型。下面是步驟:在C#中使用反射在運行時加載類型
- 負載使用
Assembly.LoadFile(assemblyPath);
- 使用
GetType
方法得到類型 - 使用
Activator.CreateInstance
創建類型的實例的組件。
下面是我的代碼:我現在面臨
Assembly assembly = Assembly.LoadFile(assemblyName);
Type type = assembly.GetType("RomanConerter.Converter");
object obj = Activator.CreateInstance(type);
問題出在最後一行。我的轉換器有一個方法名稱Add
。但我無法使用obj訪問此方法。
注意:我試圖在其他項目中加載的程序集,並且hasrd編碼了路徑。
任何人都可以幫助我嗎?
你確定它是'RomanConerter'而不是'RomanConverter'嗎? – ThiefMaster
其實它的一個自定義轉換器,只是在創建項目時出現拼寫錯誤,將在以後更改 – Jash
@ThiefMaster,這告訴我這只是一個錯字......誰知道 – series0ne