您好,我会尽力解释这一点。
基本上,我正在使用Assembly.LoadFile通过反射加载库。
从那里,我有一个接口IFace,它定义了一个方法“ GetStrings”,该方法返回一个字符串数组。
动态加载的DLL具有一个实现IFace的名为“ Class1”的类。
我需要一种通过动态加载的lib调用此接口方法的方法。我想保持紧密的联系,这让我不知道该怎么办。我知道我可以使用MethodInvoker来调用该方法,但是我正在尝试寻找一种可以执行以下操作的方法:
IFace obj = (IFace)ReflectionAssembly.Class1;
string[] strs = obj.GetStrings();
有任何想法吗?
最佳答案
就像是:
var assm = Assembly.Load("ClassLibrary1");
var type = assm.GetType("ClassLibrary1.Class1");
var instance = Activator.CreateInstance(type) as IFace;
string[] strings = instance.GetStrings();