在c#中使用vb.net dll.获取无效参数'
本文关键字:无效 获取 参数 dll net vb | 更新日期: 2023-09-27 17:51:22
有一个奇怪的,我知道这是愚蠢的东西,但我不能看到它的任何东西!
我有一个DLL创建在VB.net(不,我不能改变它!:-))和我从c#调用它。问题出现在c#中创建对象时,我得到的消息是它有"一些无效参数"。
DLL中的构造函数代码如下:
Sub New(ByRef Connection As IConnection)
c#中的代码是:
IConnection conn = new Connection();
CustomObject test = new CustomObject(conn)
它对第一行很满意,但在第二行给出错误消息("一些无效的参数")。
我还在VB.net中创建了一个次要项目,并称为DLL,它在那里工作得很好。
我做错了什么?
提前感谢,
安迪在c#中,如果一个参数是"ByRef",你必须在调用函数
时指定它CustomObject test = new CustomObject(ref conn);
几天前我有类似的问题,所以也许我可以帮助这个。我是新手,但在我的项目我有同样的问题(不是错误)。
是的,您可以使用通过VB构建的DLL。. NET中的c#。网络项目。如果你有VB。.NET dll,您可以在c# .NET中不做任何更改就使用它。但有时,你需要注意平台选项。
.NET中有以下两个重要的特性:
-
编译产生IL(中间语言)代码。所有。net语言在编译时生成的IL都是由JIT (Just In time)编译器编译的。
-
所有语言都使用公共类型系统(CTS)并在相同的公共语言运行库(CLR)上运行。目标是生成易于互操作的代码。
所以,DLL不是问题。你的错误可能是在别的地方,我不知道。