我正在考虑扩展字符串函数并将自己的函数添加到模块中。但我发现字符串类是不可继承的。
有没有办法扩展课程。我找到了类似的东西:
Class MyStringType
Dim str As String
function toTitleCase()
'return titlecae
end function
End Class
Dim s As MyStringType
s.str = "mystringgoeshere"
但这并没有以正确的方式延伸,它将导致:
S.Str.normalStringFunctions
S.MyOwnFunctionsHere
结果,功能不在同一级别!!
任何想法?
答案 0 :(得分:1)
您也可以在VB.NET中编写Extension methods
Module MyExtensions
<Extension()>
Public Sub toTitleCase(input As String)
....
End Sub
End Module
在这个“语法糖”到位后,您可以将代码编写为
Dim newString = oldString.toTitleCase()
但是,我要记住,System.Globalization.TextInfo命名空间中已经提供了ToTitleCase方法
答案 1 :(得分:0)
你所追求的是extension methods。
基本上,你不能扩展System.String
,但你可以在模块中创建子函数或函数,并使编译器“假”它们是字符串方法。