展开全部
可以直接添加引用,如果怕程序笨拙,可以动态加载
1.程序加载时,载入程序集
public void InvokeLoad(string DllFileName, string Namespace, string ClassName)
{
try
{
// 载入程序集
Assembly MyAssembly = Assembly.LoadFrom(DllFileName);
Type[] type = MyAssembly.GetTypes();
// 查找要调用的命名空间及类
foreach (Type t in type)
{
if (t.Namespace == Namespace && t.Name == ClassName)
{
InvokeType = t;
}
}
}
catch (System.NullReferenceException e)
{
MessageBox.Show(e.Message);
}
}
需要时,调用
public object InvokeCall(string DllProcName, object[] ObjArray_Parameter)
{
try
{
if (InvokeType != null)
{
// 查找要调用的方法并进行调用
MethodInfo m = InvokeType.GetMethod(DllProcName);
if (m != null)
{
object obj = Activator.CreateInstance(InvokeType);
return m.Invoke(obj, ObjArray_Parameter);
}
else
{
MessageBox.Show(" 装载出错 !");
}
}
else
{
}
}
catch (System.NullReferenceException e)
{
MessageBox.Show(e.Message);
}
return (object)0;
}
其实方法有很多,不同人不同的习惯和用法
另附Q4640465
1.程序加载时,载入程序集
public void InvokeLoad(string DllFileName, string Namespace, string ClassName)
{
try
{
// 载入程序集
Assembly MyAssembly = Assembly.LoadFrom(DllFileName);
Type[] type = MyAssembly.GetTypes();
// 查找要调用的命名空间及类
foreach (Type t in type)
{
if (t.Namespace == Namespace && t.Name == ClassName)
{
InvokeType = t;
}
}
}
catch (System.NullReferenceException e)
{
MessageBox.Show(e.Message);
}
}
需要时,调用
public object InvokeCall(string DllProcName, object[] ObjArray_Parameter)
{
try
{
if (InvokeType != null)
{
// 查找要调用的方法并进行调用
MethodInfo m = InvokeType.GetMethod(DllProcName);
if (m != null)
{
object obj = Activator.CreateInstance(InvokeType);
return m.Invoke(obj, ObjArray_Parameter);
}
else
{
MessageBox.Show(" 装载出错 !");
}
}
else
{
}
}
catch (System.NullReferenceException e)
{
MessageBox.Show(e.Message);
}
return (object)0;
}
其实方法有很多,不同人不同的习惯和用法
另附Q4640465
展开全部
你是想知道如何引用还是具体的原理哦,】
如果是单纯的引用DLL,就直接添加引用就好了啊,在用到的类中添加USING XXX
如果是单纯的引用DLL,就直接添加引用就好了啊,在用到的类中添加USING XXX
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using xxxxx;
bin左键添加引用。
bin左键添加引用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询