请高手指教C#调用DLL的问题 我在程序前面已经添加了using,引用了Child.dll的命名空间,但是还是只能找到MDIParentForm属性,不能找到ShowForm方法,麻烦两位给个例子好吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 tryt.InvokeMember("ShowForm",flag,null,obj,null);--->m.InvokeMember(obj,null); 另外,楼主的方法效率不高如果要找这个方法可以这样foreach(Type t in ts){ MethodInfo m = t.GetMethod("ShowForm"); if(m!=null) { object o = Activator.CreateInstance(t); m.InvokeMember(o,null); }} 你编译出来的DLL又没有改名 改过以后是不行的 你编译出来的DLL有没有改名 改过以后是不行的 试试Assembly a = Assembly.LoadFrom("Child.dll");Type ts= a.GetType();object dObj = Activator.CreateInstance(ts); Type[] tp=new Type[0]; MethodInfo method = ts.GetMethod("ShowForm",tp); BindingFlags flag = BindingFlags.Public | BindingFlags.Instance; object returnValue = method.Invoke(dObj,flag,Type.DefaultBinder,null,null); 各位的方法都不行啊!MethodInfo method = ts.GetMethod("ShowForm",tp);执行后,method 为null。我已经添加了using,同时没有改名。如果我直接在程序中声明一个ChildForm变量,该变量的方法中可以找到ShowForm,并可以正确执行。但是,由于我希望程序灵活,不想写在程序中,所以请各位多出主意。 同意brightheroes(闭关|那一剑的风情)的看法. 参看http://community.csdn.net/Expert/topic/3183/3183458.xml 把你的ShowForm定义为static类型试试 急!SQL2000和2005问题.。。。速度呀~~~! 采用范型有什么好处?高手指点下 怎么才能让C#程序在Vista下面出现UAC标记! c#radioButton ********* 搞过 sap 的看过来,乱码问题,焦急在线等!!!! ************* 请教几个概念:此处是否该用委托?? 求助c#组件设计(新人) 如何获得datagrid中数据的行数呀 datagrid中按回车健跳到旁边一个单元格,该怎么实现,谢谢 怎么利用C#实现zip压缩/解压缩 怎么判断系统有没有装.NET框架 控件设计时右键菜单扩展(高手进)
t.InvokeMember("ShowForm",flag,null,obj,null);--->
m.InvokeMember(obj,null);
如果要找这个方法
可以这样
foreach(Type t in ts)
{
MethodInfo m = t.GetMethod("ShowForm");
if(m!=null)
{
object o = Activator.CreateInstance(t);
m.InvokeMember(o,null);
}
}
Assembly a = Assembly.LoadFrom("Child.dll");
Type ts= a.GetType();
object dObj = Activator.CreateInstance(ts);
Type[] tp=new Type[0];
MethodInfo method = ts.GetMethod("ShowForm",tp);
BindingFlags flag = BindingFlags.Public | BindingFlags.Instance;
object returnValue = method.Invoke(dObj,flag,Type.DefaultBinder,null,null);
MethodInfo method = ts.GetMethod("ShowForm",tp);
执行后,method 为null。我已经添加了using,同时没有改名。如果我直接在程序中声明一个ChildForm变量,该变量的方法中可以找到ShowForm,并可以正确执行。但是,由于我希望程序灵活,不想写在程序中,所以请各位多出主意。