我正在尝试创建一个带有函数的类库,将二进制整数转换为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