社区
C#
帖子详情
请问,如果动态调用一个dll文件,那么它里面的ref参数应如何传递呢。
ydx
2005-02-28 11:39:54
谢谢
...全文
333
9
打赏
收藏
请问,如果动态调用一个dll文件,那么它里面的ref参数应如何传递呢。
谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ydx
2005-03-07
打赏
举报
回复
大家在测测传dataset的参数,是不是ds里并没有数据。
ydx
2005-03-06
打赏
举报
回复
对,是可能编译,可是我传的是dataset的参数。为什么传回来后没有内容呢,在msdn中也说不用加特殊的属性的。
另外,如果在调用一个方法时用ref 传递ds,这样是不是可以节省一些内存的占用。
sutalon
2005-03-05
打赏
举报
回复
你可以看看我写的测试代码:
//被测试的方法(加了 ref):
class AB
{
public void Add(ref int result,int y)
{
result += y;
result *= result;
}
}
//测试代码
static void Main(string[] args)
{
//反射生成 类ConsoleAppl.AB 的一个实例
object obj = Activator.CreateInstance(typeof(ConsoleAppl.AB));
//得到 类ConsoleAppl.AB 的类型
Type type = obj.GetType();
//得到 类ConsoleAppl.AB 的 “Add” 方法
MethodInfo method = type.GetMethod("Add");
//构建“Add”方法的参数
object [] parameters =new object[]{1,2};
//激发本方法
method.Invoke(obj,parameters);
//打印出结果,为 9 ,正确
Console.WriteLine(parameters[0].ToString());
Console.Read();
}
sutalon
2005-03-05
打赏
举报
回复
恩,我测试过,好像不用加 ref 的修饰符,可以编译通过,可以执行,结果也对阿
ydx
2005-03-05
打赏
举报
回复
不行,编译不过去。
FJGoodGood
2005-03-05
打赏
举报
回复
应该跟平常的一样吧,加一个 ref :
GetAllCustomer.Invoke(obj,ref a, b, c, ...);
ydx
2005-03-05
打赏
举报
回复
没有人碰到过吗?
DataSet ds=new DataSet();
//InitializeFormMethond.GetCustomer (ref ds);
string fileName=@"\Smartcustomer.dll";
string filePath=Application.StartupPath+fileName;
string typeName="Smartcustomer.Customer";
ObjectHandle objHandle = Activator.CreateInstanceFrom(filePath,typeName);//strAssembly是程序集名称,strClass是类名
Object obj = objHandle.Unwrap();
Type type = obj.GetType();
object []parameters={ds};
MethodInfo GetAllCustomer= type.GetMethod("GetAllCustomer");//strOp方法名称
GetAllCustomer.Invoke(obj,parameters );
如果GetAllCustomer的参数是以ref 传递的,请问该如何写呢?
jiezhi
2005-02-28
打赏
举报
回复
动态加载dll
Asssemble.Load()
ref
获得实例后,
string str = "";
myObject.Method1(ref str);
具体参考msdn吧
ydx
2005-02-28
打赏
举报
回复
能在详细一点吗?
Windows进程常用
DLL
模块注入技术
进程调试级注入,涉及调试器相关功能
调用
知识点
dll
模块重定位内存注入,模拟操作系统加载PE
文件
方式,直接将
dll
文件
内存数据写入目标进程并执行。 导入表注入,涉及PE相关知识点,增加区段,移动导入表,增加导入...
nodeJS
调用
dll
动态
库
调用
dll
动态
库
C#程序
调用
C++
动态
库(
dll
文件
)遇到的坑
C#程序
调用
C++
动态
库(
dll
文件
)遇到的坑C#程序
调用
C++程序
DLL
遇到的坑C#
调用
c++
动态
库(
dll
)方法问题1:报错System.
Dll
NotFoundException问题2:报错System.BadImageFormatException问题3:
参数
有字符串,报错System...
C# 使用C/C++
动态
链接库(
dll
) ——
参数
传递
&类型移植
需求 在我们的方法
调用
也经常会遇到
参数
传递
的情况,在
传递
过程中,如何让C/C++与C#在类型上...
动态
库有个方法可以获取
文件
名GetFileName的方法,C#
调用
以获取
文件
名。 环境 Windows 10 Visual Studio 2017 平台工...
C#
调用
C++编写的
DLL
函数, 以及各种类型的
参数
传递
C#
调用
C++编写的
DLL
函数, 以及各种类型的
参数
传递
1.如果函数只有传入
参数
,比如2. 如果函数有传出
参数
,比如:3. 带传入数组:4. 带传出数组:5. 传出字符数组:MarshalAs的
参数
用法以及数组的Marshaling 1.如果函数只有...
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章