/// <summary>
/// 动态加载DLL,C#.net框架的dll
/// </summary>
/// <param name="lpFileName">DLL路径</param>
/// <param name="Namespace">命名空间</param>
/// <param name="ClassName">类名</param>
/// <param name="lpProcName">公共函数名</param>
/// <param name="ObjArray_Parameter"></param>
/// <returns></returns>
private static object Invoke(string lpFileName, string Namespace, string ClassName, string lpProcName, object[] ObjArray_Parameter)
{
try
{ // 载入程序集
Assembly MyAssembly = Assembly.LoadFrom(lpFileName);
Type[] type = MyAssembly.GetTypes();
foreach (Type t in type)
{// 查找要调用的命名空间及类
if (t.Namespace == Namespace && t.Name == ClassName)
{// 查找要调用的方法并进行调用
MethodInfo m = t.GetMethod(lpProcName);
if (m != null)
{
object o = Activator.CreateInstance(t);
return m.Invoke(o, ObjArray_Parameter);
}
else { MessageBox.Show(" 装载出错 !"); }
}
}
}//try
catch (System.NullReferenceException e)
{
MessageBox.Show(e.Message);
}//catch
return (object)0;
}