关于反射问题.... 急件

IE14571 2005-08-05 04:33:36
如何在使用反射调用其他DLL文件时,将参数传过去,这有办法实现吗?

比方说,我在主菜单中,点子菜单时,会自动调用该子菜单的功能项,所以功能项均是独立的DLL或EXE档案,在调用过程中,我需要将资料库的一些Login信息传送到各子功能项中,有没有办法.

在线=,,请各位帮忙,急件.
...全文
178 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
IE14571 2005-08-07
  • 打赏
  • 举报
回复
还有点错误..

不过我请我朋友帮我处理了.. 谢谢各位啊.
zhilunchen 2005-08-06
  • 打赏
  • 举报
回复
可以做成Webservice来实现你的需求,在
《.net企业应用高级编程--C#编程篇》中有详细介绍。
IE14571 2005-08-06
  • 打赏
  • 举报
回复
TO weisunding(鼎鼎)

目前我在B.DLL中所接的参数是一个数组型,那
Invoke("theProc", new object[]{参数1,参数2..});中的参数应该怎么丢法呢..

当然我可以将数组拆分为多个字串传过来,(未测试).
我是想知道如何传达其他类型的参数,谢谢!
TechEye 2005-08-06
  • 打赏
  • 举报
回复
上面又露了写new了,应该是
m.Invoke.Invoke(obj, new object[]{s});
TechEye 2005-08-06
  • 打赏
  • 举报
回复
很简单啊,假设你取得了一个MethodInfo m;
你想激活一个方法
void SayHello(string[] strArray)
{
//do something.
}

只要(设下面的obj是你那个类的实列)
string[] s = new string[]{"first string","second string"};
m.Invoke.Invoke(obj, object[]{s});
就完了,有多个参数,就用 object[]{参数1,任何类型参数2,...}
IE14571 2005-08-06
  • 打赏
  • 举报
回复
有下载地址吗??
落伍者 2005-08-06
  • 打赏
  • 举报
回复
webservice并不是说要你做web
IE14571 2005-08-06
  • 打赏
  • 举报
回复
To zhilunchen(他山居士)

目前来讲开发Winform的开发周期比开发Web要短得多,毕竟我们已经有了自己一套开发工具,要开发Web的话开发工具又要重写那就麻烦了. ^_^
Josion 2005-08-05
  • 打赏
  • 举报
回复
前几天接触的.
coveking 2005-08-05
  • 打赏
  • 举报
回复
学习
SeeSunSet 2005-08-05
  • 打赏
  • 举报
回复
Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom("c:\\Sample.Assembly.dll");
// Obtain a reference to a method known to exist in assembly.
MethodInfo Method = SampleAssembly.GetTypes()[0].GetMethod("Method1");
// Obtain a reference to the parameters collection of the MethodInfo instance.
ParameterInfo[] Params = Method.GetParameters();
// Display information about method parameters.
// Param = sParam1
// Type = System.String
// Position = 0
// Optional=False
foreach (ParameterInfo Param in Params){
Console.WriteLine("Param=" + Param.Name.ToString());
Console.WriteLine(" Type=" + Param.ParameterType.ToString());
Console.WriteLine(" Position=" + Param.Position.ToString());
Console.WriteLine(" Optional=" + Param.IsOptional.ToString());
}
TechEye 2005-08-05
  • 打赏
  • 举报
回复
当然可以(上面点太快了)

Invoke("theProc", new object[]{参数1,参数2..});
TechEye 2005-08-05
  • 打赏
  • 举报
回复
当然可以

Invoke("theProc", new object[yourParam]);
IE14571 2005-08-05
  • 打赏
  • 举报
回复
UP

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧