在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#中使用vb.net dll.获取无效参数'

在c#中,如果一个参数是"ByRef",你必须在调用函数

时指定它
CustomObject test = new CustomObject(ref conn);

几天前我有类似的问题,所以也许我可以帮助这个。我是新手,但在我的项目我有同样的问题(不是错误)。

是的,您可以使用通过VB构建的DLL。. NET中的c#。网络项目。如果你有VB。.NET dll,您可以在c# .NET中不做任何更改就使用它。但有时,你需要注意平台选项。

.NET中有以下两个重要的特性:

  1. 编译产生IL(中间语言)代码。所有。net语言在编译时生成的IL都是由JIT (Just In time)编译器编译的。

  2. 所有语言都使用公共类型系统(CTS)并在相同的公共语言运行库(CLR)上运行。目标是生成易于互操作的代码。

所以,DLL不是问题。你的错误可能是在别的地方,我不知道。