从 C# 调用 VB.Net 函数

发布于 2024-11-25 02:23:05 字数 374 浏览 0 评论 0原文

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

Start 方法的签名是

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

DBAccess 是一个 userDefined 类

,我的 C# 调用代码是

obj.Start(frm, db, roleID);

谢谢

I've a vb.net class library and my c# application is accessing that method. My C# code gives me compile time error that 'Start' is not supported by language, where Start is my method name.

Signature of Start method is

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

where DBAccess is a userDefined class

and my c# calling code is

obj.Start(frm, db, roleID);

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤君无依 2024-12-02 02:23:05

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

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

roleID 的类型从 <代码>整数Int32

According to this, this error can be caused by optional parameters in VB.net declaration or not-supported types in C#.
May be you should just recompile your vb.net library and re-add reference to your c# project.
But I think you should change your method definition to such:

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

type of roleID is changed from Integer to Int32.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文