每次创建显示某些数据的UserControl
时,我都遇到了这个问题,我需要一个刷新数据的方法。我喜欢用简单的通用名称来表达所有内容,并且遵循最不惊讶的原则,并且让其他人(或者我从现在起6个月后)的名字直观易懂。
我的方法的明显名称是Refresh
,但是已经被基类使用了。
我不想Override
它,因为每次基类调用此方法时我都不需要刷新数据。数据刷新和屏幕刷新只是不同的功能,我不认为它们应该混合在一起。
我也不想Shadow
,因为我不想干扰它的运作。
我尚未学到的东西,对我来说很有意思的是,如果我Overloads
它,MyBase.Refresh()
将我带到对象浏览器,{{1把我带到我的方法。
Me.Refresh()
Public Overloads Sub Refresh()
'Code to refresh data
End Sub
显示在我的课程下的对象浏览器中,属于Me.Refresh()
的{{1}}显示在Refresh
下。有趣的是我以前从未注意到这一点。
我不确定这是否可以避免在所有情况下都与基类发生冲突!我的意思是,后期绑定怎么样?就像我说的那样,我甚至不确定编译器如何分开它们,但我可以看到它确实如此。
这似乎是一个巧妙的技巧,但它会让使用我的控制的人感到震惊,对吧?那会让你大吃一惊吗?
这种功能的标准名称是什么名称?
更好的是,有一个vb.net方法名称列表是基本常见操作的行业标准吗?
细节:
从技术上来说,它并不总是Control
,因为我并不总是重新加载所有数据;也许我只是逐步同步它。 UserControl
表示初始加载,而不是刷新。 Reload
更像是它,但我认为这不是大多数人在intellisense中看到这种方法的第一个地方。名称本身不应该是惊人的。 Load
含糊不清;谁正在更新谁,即更新的方向是什么?如果我实际上没有使用数据绑定或数据源,那么Sync
在技术上是不正确的。而 I 所能满足所有这些标准的任何名称都可能不常用 - 例如Update
。更不用说,最后,一个单词的名称会更简单。
答案 0 :(得分:0)
Reload
并不是那么糟糕。我认为重新加载名称并不必担心它是如何重新加载的(同步与满载)。