[英]Allowing TextBox.Text to accept different types
我正在将VB程序翻译为C#。 VB程序具有WinForm控件,并且在设置部分使用了以下代码,
Me.xXXTextBox.Text = Me._settings.XXX
唯一的是,上面的RHS不是字符串,而是,
Public Property XXX() As Single
Get
Return Me._xXX
End Get
Set(ByVal value As Single)
If value <> Me._xXX Then
Me._xXX = value
Me._dirty = True
End If
End Set
End Property
请问如何在C#中执行以上操作? 我已将代码转换为C#,但无法通过类型“ mis-match”。
为了获得更多背景知识,在VB程序中,将TextBox
实现为继承自TextBox
的NumericTextBox
。 我也已经在C#中实现了这一点,但仍然行不通。
我错过了一些东西,但我不知道它是什么。
VB通常允许c#不允许的隐式转换,因此,乍一看,我建议使用_settings.XXX.ToString()
。
但是,在阅读了问题的最后一段之后,我不太确定。 您需要检查VB源代码,以查看NumericTextBox.Text
是否应为String
或Single
类型。 如果是单个,则需要在c#转换中实现相同的功能。 如果是字符串,则需要使用ToString
方法。
只需将single
转换为string
。 C#在像VB.NET这样的显式类型转换方面并不容易(您应该对此感到高兴):
this.xXXTextBox.Text = Convert.ToString(this._settings.XXX)
要么
this.xXXTextBox.Text = this._settings.XXX.ToString()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.