允许TextBox.Text接受不同的类型

时间:2014-06-15 09:08:00

标签: c# vb.net textbox

我正在将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#但我无法得到 超过“不匹配”类型。

仅为了更多背景知识,在VB程序中,TextBox实现为NumericTextBox,继承自TextBox。我已经在C#中实现了这个,但仍然没有。

我遗失了一些东西,但我无法弄清楚它是什么。

2 个答案:

答案 0 :(得分:1)

VB经常允许c#不允许的隐式转换,因此乍一看我建议使用_settings.XXX.ToString()

然而,在阅读你问题的最后一段后,我不太确定。您需要检查VB源代码,以查看NumericTextBox.TextString类型还是Single类型。如果它是单一的,您需要在c#转换中实现相同的功能。如果是字符串,则需要使用ToString方法。

答案 1 :(得分:0)

只需将single转换为string即可。 C#在显式类型转换上并不像VB.NET那么容易(你应该对此感到高兴):

this.xXXTextBox.Text = Convert.ToString(this._settings.XXX)

或者

this.xXXTextBox.Text = this._settings.XXX.ToString()