如何将公共事件从 c# 转换为 vb.net [关闭]
Posted
技术标签:
【中文标题】如何将公共事件从 c# 转换为 vb.net [关闭]【英文标题】:how to translate public event from c# to vb.net [closed] 【发布时间】:2013-07-27 15:09:27 【问题描述】:我在 c#
类中有以下代码,并且需要它的 vb.net 等价物。我发现的所有在线翻译工具都将这部分翻译错了。网上的一项研究没有给我带来任何进展。
public event EventHandler<UploadProgressChangedLibArgs> UploadProgressChanged;
无论我做什么,我都会不断收到 uploadprogresschangedlibargs 没有定义。
感谢任何帮助
附加信息:
http://sourceforge.net/projects/dotnetftplib/files/
这是我要翻译的图书馆
【问题讨论】:
嗯有你在任何地方声明了UploadProgressChangedLibArgs
?它在 C# 代码中声明在哪里?
我将 Whole class 从 c# 在线翻译成 vb.net。但这部分一直失败。我没有在任何地方声明它,但它似乎也没有在库本身中声明。
必须在某处声明类型。找出 C# 代码中的位置,然后添加对正确库的适当引用,或添加声明。
我现在查看了这个库——它只是一个单独的类。您也需要将其翻译成 VB。你为什么要翻译这段代码?您应该能够使用 VB 中的库而无需翻译它...
谢谢!我想对该类进行一些更改并能够在运行代码中对其进行调试,这就是我将其翻译成 vb.net 的原因。我尝试将其添加为 c# 代码,但如果我使用混合代码,它不会看到类。
【参考方案1】:
问题正是编译器所说的:找不到UploadProgressChangedLibArgs
类型。那是同一个库中的另一种类型 - 因此您需要先移植 that,然后才能移植使用它的事件。
如 cmets 中所述,我建议您避免将 C# 移植到 VB,反之亦然,除非您真的需要。 .NET 的好处之一是您可以从 VB 调用 C#,反之亦然 - 如果您只想对现有代码库进行细微更改,则无需移植整个内容 - 您只需要了解它所使用的语言足以进行更改。
【讨论】:
如果我做对了:在 vb.net 项目中可以有一个 c# 类.. 对吗? “我可以从 vb.net 调用 c#”是什么意思?谢谢 不在同一个项目中。不过,您可以引用已编译的程序集。以上是关于如何将公共事件从 c# 转换为 vb.net [关闭]的主要内容,如果未能解决你的问题,请参考以下文章