0

コンストラクターを持つクラスがあります。コンストラクターは必要なすべてのパラメーターを取得し、パラメーターを使用して別のクラスを返します。

Public Class SearchResults()

  private id as int


    Sub New(id) ' Constructor
        getResults(id)
    End Sub

    Public Function getResults(byval id as int) as List(of Products)
       ........
      return list (of products)
    End Function

End

次に、私のページですべての製品を入手したいと思います。

Dim s = new SearchResults( 1 )
Dim p as list(of Products) = s.getResults()

----今、私はこれでそれぞれのために行うことができます

これは私にとってはうまくいきますが、私はそれを行うためのより良い方法が必要だと感じています。私は最高の基準に固執したいと思います。これが最善のアプローチだと思いますか、それとも改善できると思いますか?私のデザイナーはプロジェクト内でこのクラスを利用する予定です...だから私は彼らのためにそれをできるだけシンプルにしたいと思っています。

または、クラスのコレクションを作成する方法...たとえば、ClassProductとそのコレクションClassProducts、Productsはプロジェクトクラスのコレクションです。

4

3 に答える 3

0

getResults私は個人的にメソッドを宣言して、そのメソッドにアクセスするためだけにオブジェクトSharedを作成する必要がないようにします。SearchResultsこれにより、別のオブジェクトを作成しなくても、別のIDでメソッドを再度呼び出すこともできます。

于 2012-10-01T05:32:35.790 に答える
0

getResultsメソッドを静的にすることができ、それを呼び出すためのクラスインスタンスを作成する必要がなくなります。

于 2012-10-01T05:29:27.637 に答える
0

必要なことを行うには3つの方法があります:1)結果をロードしてコンストラクターのオブジェクトに格納できます2)IDをオブジェクトに格納し、関数を呼び出して必要に応じて結果を取得できます3)次のことができます関数を静的にし、IDとコレクション(またはコレクションを取得するために必要なリソース)を渡し、オブジェクトをまったく使用しないようにします。

必要なものに応じて、おそらく1または3のいずれかが最適です。1つの関数以外のメソッドでオブジェクトを再利用する場合は、オプション1が最適ですが、1つの関数だけが必要な場合は、次のようにオプション3を使用してください。

Public Class SearchResults
Public Static Function getResults(ByVal id As int) As List(Of Products)
   '........
  return list (of products)
End Function

End Class
于 2012-10-01T05:52:03.097 に答える