【问题标题】:C# to VB.NET: Inheritance and interfacesC# 到 VB.NET:继承和接口
【发布时间】:2014-02-18 00:48:42
【问题描述】:

我在 C# 中有以下课程:

public class SyncListener : SyncStatusListener
{ ... }

我想将其转换为 VB.NET,我认为它看起来像这样:

Public Class SyncListener
    Inherits SyncStatusListener
    ...
End Class

但问题来了:SyncStatusListener 是一个接口,VB.NET 不允许从接口继承。在这种情况下如何将 C# 代码转换为 VB.NET?

提前谢谢你!

【问题讨论】:

    标签: c# vb.net inheritance interface


    【解决方案1】:

    请改用Implements statement

    如果一个类或结构实现了一个或多个接口,它必须在 ClassStructure 语句之后立即包含 Implements 语句。 Implements 语句需要一个以逗号分隔的接口列表,以供类实现。类或结构必须使用 Implements 关键字实现所有接口成员。

    所以把你的代码改成:

    Public Class SyncListener
        Implements SyncStatusListener
        ...
    End Class
    

    【讨论】:

    • 详细说明你的最后一句话可能会有所帮助,显示隐式和显式接口实现的等价物。
    【解决方案2】:

    对于 VB.Net,您使用 implements 关键字,而不是继承。看这里。 Implements

    【讨论】:

      【解决方案3】:

      使用Implements

      Public Class SyncListener
          Implements SyncStatusListener
          ...
      End Class
      

      【讨论】:

        【解决方案4】:

        在 C# 中,Interface 的实现由 : 完成。但是VB.Net为此保留了一个关键字。

        接口实现的关键字是Implements

        您可以通过两种方式实现多个Interface

        一个是为每个Interface使用Implements关键字

        Public Class Test
             Implements Interface1
             Implements Interface2
        
        End Class
        

        另一种方法是使用逗号分隔符,如下所示

        Public Class Test
            Implements Interface1, Interface2
        
        End Class
        

        【讨论】:

          猜你喜欢
          • 2011-10-05
          • 2011-07-31
          • 2021-08-10
          • 1970-01-01
          • 2011-03-24
          • 1970-01-01
          • 2023-03-14
          • 2018-04-30
          相关资源
          最近更新 更多