0

いくつかのデータを表示するを作成するたびにこの問題に遭遇し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つの単語の名前の方が簡単です。

4

1 に答える 1

0

Reloadそれほど悪くはありません。名前のリロードでは、リロードの方法(同期とフルロード)を気にする必要はないと思います。

于 2015-01-26T15:47:41.813 に答える