Lou*_*Lou 6 vb.net extension-methods function
我正在尝试创建一个带有函数的类库,将二进制整数转换为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
Run Code Online (Sandbox Code Playgroud)
我在项目中测试了它,它工作正常.
ToBinary(3) 'Returns 11
ToDenary(110) 'Returns 6
Run Code Online (Sandbox Code Playgroud)
但是 - 主要是出于审美原因 - 我希望能够像扩展方法一样使用它,这样我就可以使用变量来执行此操作:
NormalInt.ToBinary(3)
Run Code Online (Sandbox Code Playgroud)
但我无法在类中编写扩展方法.有没有办法做到这一点?这并不是非常重要,但我喜欢尽我所能使用扩展方法.
Zac*_*dev 14
用VB .NET编写的扩展方法必须在a中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
Run Code Online (Sandbox Code Playgroud)
如果模块不在同一名称空间中,则应导入使用它的名称空间.
| 归档时间: |
|
| 查看次数: |
6752 次 |
| 最近记录: |