加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB.NET – 类中的扩展函数?

发布时间:2020-12-17 00:22:26 所属栏目:大数据 来源:网络整理
导读:我正在尝试创建一个带有函数的类库,将二进制整数转换为denary,反之亦然,这样我就可以将它导入另一个项目而无需重写函数.它工作正常,这是课程的一部分: Public Class BinaryDenary Public Shared Function ToBinary(ByVal DenaryNumber As Integer) As Integ
我正在尝试创建一个带有函数的类库,将二进制整数转换为denary,反之亦然,这样我就可以将它导入另一个项目而无需重写函数.它工作正常,这是课程的一部分:
Public Class BinaryDenary
    Public Shared Function ToBinary(ByVal DenaryNumber As Integer) As Integer
        Dim Binary As String = ""
        While DenaryNumber > 0
            If DenaryNumber Mod 2 = 1 Then
                Binary = 1 & Binary
            Else
                Binary = 0 & Binary
            End If
            DenaryNumber = 2
        End While
        Return CInt(Binary)
    End Function
End Class

我在项目中测试了它,它工作正常.

ToBinary(3) 'Returns 11
ToDenary(110) 'Returns 6

但是 – 主要是出于审美原因 – 我希望能够像扩展方法一样使用它,这样我就可以使用变量来执行此操作:

NormalInt.ToBinary(3)

但我无法在类中编写扩展方法.有没有办法做到这一点?这并不是非常重要,但我喜欢尽我所能使用扩展方法.

用VB .NET编写的扩展方法必须在Module中,并使用Extension属性标记,如下所示:
Public Module BinaryDenary

    <Extension()>
    Function ToBinary(ByVal DenaryNumber As Integer) As Integer
        Dim Binary As String = ""
        While DenaryNumber > 0
            If DenaryNumber Mod 2 = 1 Then
                Binary = 1 & Binary
            Else
                Binary = 0 & Binary
            End If
            DenaryNumber = 2
        End While
        Return CInt(Binary)
    End Function

End Module

如果模块不在同一名称空间中,则应导入使用它的名称空间.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读