我是否知道在VB.NET中为控件创建变量有什么好处?
例如:
我使用TextBox
访问textBox.Text
值。
我声明一个变量来存储TextBox
的值。然后,我通过变量访问该值。
哪种方法更好,更灵活?
答案 0 :(得分:1)
这两种方法都有效。我个人倾向于后一种情况(单独的变量):
使用诸如TextBox
之类的控件作为保存业务数据的单一位置,这是有些人不赞同的。如果您在访问它时必须首先解析值(将字符串表示形式转换回对象),或者在想要显示它时将其格式化(将对象转换为字符串表示形式),这在实践中尤其成问题。在这种情况下,我决定将实际值与控件分开存储,这样所有的解析和格式化逻辑都可以集中到一个地方,而不必在代码库中重复它。
另一方面,将值存储在单独的变量中需要保持该变量与控件同步。这正是Data Binding的好处。我假设您的问题是关于Windows窗体,其中数据绑定有些限制(但通常是足够的)。但是,如果您的UI基于WPF或Silverlight,则数据绑定功能更强大(例如,它可以通过IValueConverter
自动解析/格式化)并且可以为您节省大量麻烦。 (如果您发现数据绑定过于复杂,您可以手动完成相同的工作,但这意味着订阅了大量…Changed
个事件。)