Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从c调用VB.Net函数_C#_Vb.net_Compiler Errors - Fatal编程技术网

C# 从c调用VB.Net函数

C# 从c调用VB.Net函数,c#,vb.net,compiler-errors,C#,Vb.net,Compiler Errors,我有一个vb.net类库,我的c应用程序正在访问该方法。我的C代码给了我编译时错误,即语言不支持“Start”,其中Start是我的方法名 启动方法的签名为 Public Sub Start(Byval frm as Form, ByVal db as DBAccess, ByVal roleID as integer) 其中DBAccess是一个用户定义的类 我的c调用代码是 obj.Start(frm, db, roleI

我有一个vb.net类库,我的c应用程序正在访问该方法。我的C代码给了我编译时错误,即语言不支持“Start”,其中Start是我的方法名

启动方法的签名为

Public Sub Start(Byval frm as Form,
                 ByVal db as DBAccess,
                 ByVal roleID as integer)
其中DBAccess是一个用户定义的类

我的c调用代码是

obj.Start(frm, db, roleID);
根据,此错误可能由VB.net声明中的可选参数或C中不支持的类型引起。 也许您应该重新编译vb.net库并重新添加对c项目的引用。 但我认为您应该将方法定义更改为:

Public Sub Start(Byval frm as Form, ByVal db as DBAccess, ByVal roleID as Int32)

roleID的类型从更改为。

我怀疑错误消息是否为语言不支持“Start”。请显示更多的调用代码,包括obj的声明和确切的编译错误;你认为静态关键字与此有关吗?我的类是静态的,在这里我编写了这段代码。编译时错误正是我前面说过的。解释错误消息编辑:这是针对类的,而不是针对方法名的,但不知道在您的案例中是什么原因造成的。@Jon Skeet发生此错误是因为VB.NET和C之间存在一些不兼容的东西。这可能正好发生在错误文本中。@MSingh:这不是您的确切C代码,考虑到语言不支持的语法问题,我怀疑这个错误是否正是你写的。剪贴是你的朋友。