在C#中,我想调用带有签名bool IsValid(string)
的外部DLL中的方法,
但是dll的名称来自输入字符串。
我怎么能:
调用外部方法?
实施IsValid
方法?
答案 0 :(得分:2)
答案 1 :(得分:2)
对于第一个问题我找到了这个答案:
string path = ApplicationMapPath+ objDLLName + ".dll";
System.Reflection.Assembly a = System.Reflection.Assembly.LoadFile(path);
Type t = a.GetType("<namespace>.<Class>");
object instance = a.CreateInstance("<namespace>.<Class>");
MethodInfo m = t.GetMethod("<FuncName>");// Call the method
object res = m.Invoke(instance, new object[] { txtBox.Text }); // Get the result here
答案 2 :(得分:1)
我能想到的唯一方法是使用Win32库和LoadLibrary API函数的特殊性。 这是一个可以帮助您入门的链接:
http://www.codeproject.com/Articles/27298/Dynamic-Invoke-C-DLL-function-in-C