【问题标题】:C # to VB.NET - Using interfaceC# 到 VB.NET - 使用接口
【发布时间】:2010-12-29 01:13:39
【问题描述】:

嘿,我想知道这一切在 VB.NET 中是如何实现的

在 C# 中

UserSettings vUsers = new UserSettings();
UserSettings.IUserSettings vUserI = (UserSettings.IUserSettings)vUsers

我有机会尝试用 VB.NET 编写它,但这样对吗?

在 VB.NET 中

Dim vUsers As UserSettings = New UserSettings()
Dim vUserI As UserSettings.IUserSettings = (UserSettings.IUserSettings)vUsers

【问题讨论】:

  • 好像不太对,不然你不会问吧? ;)
  • 因此,VS 没有给它直接的错误... (UserSettings.IUserSettings) vUsers 怀疑我在 VB.NET 中写的延伸

标签: c# vb.net interface class


【解决方案1】:

在 vb.Net 中会写成:

Dim vUsers As New UserSettings()
Dim vUserI As UserSettings.IUserSettings = DirectCast(vUsers, UserSettings.IUserSettings)

此外,您可以尝试将其用于任何 C# 到 VB.Net 的转换:

http://www.developerfusion.com/tools/convert/csharp-to-vb/

希望这有帮助!

【讨论】:

  • 我们从哪里开始使用“;”在 VB.NET 中? : S
  • 抱歉,更新了我的答案!!
  • 您可能还会偶然发现CType(vUsers,UserSettings.IUserSettings),而不是DirectCast。两者相似,但做的事情并不完全相同。大多数时候你想使用 DirectCast (就像在这种情况下)。更多解释请阅读codeproject.com/KB/vb/DirectcastVsCtype.aspx
【解决方案2】:

您是直接在 c# 中进行转换,所以我认为 DirectCast 将是此处使用的方法。

Dim vUsers As New UserSettings()

Dim vUserI As UserSettings.IUserSettings = DirectCast(vUsers, UserSettings.IUserSettings)

【讨论】:

  • 感谢您对我的问题如此直接的回答!
猜你喜欢
  • 2014-02-18
  • 2011-04-19
  • 2015-09-30
  • 2012-01-04
  • 2018-08-30
  • 2011-02-15
  • 2013-04-12
  • 2014-02-15
相关资源
最近更新 更多