【问题标题】:ASP.NET MVC Storefront VB Port? LazyList in particularASP.NET MVC Storefront VB 端口?尤其是惰性列表
【发布时间】:2008-11-19 12:39:02
【问题描述】:

我正在使用 Rob Connery 出色的 MVC Storefront 作为我的新 MVC Web 应用程序的松散基础,但我无法将 LazyList 代码移植到 VB.NET(不要问)。

似乎 VB 不允许将 GetEnumerator 函数指定两次,但返回类型不同。有谁知道我该如何解决这个问题?

谢谢

Private Function GetEnumerator() As IEnumerator(Of T) Implements IEnumerable(Of T).GetEnumerator
  Return Inner.GetEnumerator()
End Function

Public Function GetEnumerator() As IEnumerator Implements IList(Of T).GetEnumerator
  Return DirectCast(Inner, IEnumerable).GetEnumerator()
End Function

【问题讨论】:

    标签: asp.net-mvc vb.net model-view-controller


    【解决方案1】:

    VB.NET 允许您为函数指定一个与您正在实现的函数不同的名称。

    Public Function GetEnumerator() As IEnumerator(Of T) _
      Implements IEnumerable(Of T).GetEnumerator
    
      Return Inner.GetEnumerator()
    End Function
    
    Public Function GetListEnumerator() As IEnumerator _
      Implements IList(Of T).GetEnumerator
    
      Return DirectCast(Inner, IEnumerable).GetEnumerator()
    End Function
    

    【讨论】:

      【解决方案2】:

      抱歉,我不知道如何使用 VB 来解决这个问题,但 .NET 的优点之一是在运行时您可以使用使用不同语言构建的程序集。因此,您可以创建一个包含 LazyList 类的非常简单的 C# 程序集,并仅引用该程序集。这就是 .NET 实现的跨语言重用的全部意义所在——它使您免于重新发明轮子!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-25
        相关资源
        最近更新 更多