.net 是否有可能实现ToString覆盖方法
是否有任何方法可以将方法添加到.net 是否有可能实现ToString覆盖方法,.net,vb.net,tostring,.net,Vb.net,Tostring,是否有任何方法可以将方法添加到.ToString?如果不是所有.ToString,则更具体地说: For Each Client as DataRow in DT.Rows Msgbox(Client.Item("first_name").ToString.**ProperCase**) Next 我想将.ProperCase添加到ToStringStrConv(客户端项目(“名字”).tostring,vbProperCase) 这可能吗?ToString是一种方法。因此,您不能向其
.ToString
?如果不是所有.ToString
,则更具体地说:
For Each Client as DataRow in DT.Rows
Msgbox(Client.Item("first_name").ToString.**ProperCase**)
Next
我想将.ProperCase
添加到ToString
<代码>StrConv(客户端项目(“名字”).tostring,vbProperCase)
这可能吗?ToString是一种方法。因此,您不能向其中添加方法,但可以向其中一个类添加方法 您可以在System.String类或System.Object类上编写扩展方法。只要签名不同,也可以重载内置方法。您不能编写新的ToString(),但可以编写一个ToString(bool)来区分它 有几个备选方案:
ToString(ToStringOpts)
。对象:
Client.Item("first_name").ToString(ProperCase)
ProperCase()
。要链接的字符串(流畅语法):
ToStringProperties()
,所以您只需要一个方法调用:
Client.Item("first_name").ToStringProperCase()
<Extension()>
Public Function ToStringProperCase(ByVal s As String) As String
Return String.Concat(s.Substring(0,1).ToUpper(), s.Substring(1).ToLower())
End Function
公共函数toString属性(ByVal s作为字符串)作为字符串
返回字符串.Concat(s.Substring(0,1).ToUpper(),s.Substring(1.ToLower())
端函数
搜索“扩展方法VB.NET”。谢谢。我遇到了一些问题,我正在处理的项目使用的是2.0。虽然谷歌在2.0中展示了这样做的方法,但它打破了我的项目中的其他东西。但现在我知道了如何在使用4.0的其他项目中实现这一点。谢谢你的解释和样品。
<Extension()>
Public Function ToStringProperCase(ByVal s As String) As String
Return String.Concat(s.Substring(0,1).ToUpper(), s.Substring(1).ToLower())
End Function