いくつかのデータを表示するを作成するたびにこの問題に遭遇しUserControl
、データを更新するメソッドが必要です。私はすべてに単純な一般名を使用するのが好きで、驚き最小の原則に従い、他の人(または今から6か月後の私)が理解できる名前を持っています。
私のメソッドのわかりやすい名前はですがRefresh
、これはすでに基本クラスで使用されています。Override
基本クラスがこのメソッドを呼び出すたびにデータを更新する必要がないため、これは望ましくありません。データの更新と画面の更新は別の機能であり、これらを混在させるべきではないと思います。
それが機能するのを邪魔したくShadow
ないので、私もそれをしたくありません。
私がまだ学んでいないことは、私にとって興味深いことです。それは、私がOverloads
それをMyBase.Refresh()
行うと、オブジェクトブラウザにMe.Refresh()
移動し、メソッドに移動することです。
Public Overloads Sub Refresh()
'Code to refresh data
End Sub
Me.Refresh()
私のクラスの下のオブジェクトブラウザに表示され、Refresh
に属するものはのControl
下に表示されUserControl
ます。今まで気づかなかったので面白い。
これにより、すべての場合に基本クラスとの衝突が回避されるかどうかはわかりません。つまり、遅延バインディングはどうですか?私が言っているように、コンパイラがそれらをどのように区別して認識しているかさえわかりませんが、それが認識していることはわかります。
それは巧妙なトリックのように見えますが、私のコントロールを使用している人を驚かせるでしょう?それはあなたを驚かせますか?
そのような関数の標準的な名前は何ですか?
さらに良いことに、基本的な一般的な操作の業界標準であるvb.netメソッド名のリストはありますか?
特徴点:
技術的には、Reload
すべてのデータを常に再ロードしているわけではないため、必ずしもそうとは限りません。多分私はそれを段階的に同期しているだけです。Load
更新ではなく、初期ロードを意味します。Sync
似ていますが、ほとんどの人がこの方法をインテリセンスで調べる最初の場所ではないと思います。名前自体は驚くべきものではありません。Update
あいまいです。誰が誰を更新しているのか、つまり、更新はどちらの方向に進んでいるのか?DataBind
実際にデータバインディングまたはデータソースを使用していない場合、技術的に正しくありません。そして、これらすべての基準に適合すると私が考えることができる名前は、一般的に使用されていない可能性があります-RefreshData
たとえば。言うまでもなく、最後に、1つの単語の名前の方が簡単です。