定義插件介面類,介面中定義需要的溝通方法 在組件中某類繼承該插件介面,實現方法 //載入組件DLL Assembly ab = Assembly.LoadFrom(file); Type[] types = ab.GetTypes(); foreach (Type t in types) { //如... ...
- 定義插件介面類,介面中定義需要的溝通方法
- 在組件中某類繼承該插件介面,實現方法
-
//載入組件DLL
Assembly ab = Assembly.LoadFrom(file);
Type[] types = ab.GetTypes();
foreach (Type t in types)
{
//如果某些類實現了預定義的插件介面,則認為該類適配與主程式(是主程式的插件)
if (t.GetInterface("預定義的插件介面")!=null)
{
object o = ab.CreateInstance(t.FullName);//創建該類實例
MethodInfo method = t.GetMethod("方法名");//獲得該類某方法
object returnValue = method.Invoke(實例名, 函數參數)//調用該方法
}
}