繁体   English   中英

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

[英]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实现为继承自TextBoxNumericTextBox 我也已经在C#中实现了这一点,但仍然行不通。

我错过了一些东西,但我不知道它是什么。

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

但是,在阅读了问题的最后一段之后,我不太确定。 您需要检查VB源代码,以查看NumericTextBox.Text是否应为StringSingle类型。 如果是单个,则需要在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM