2

リストのレンダリングに関してリターンを取得するコントローラーとの違いは何ですか?

Linq dataContext では:

public IList<Response> GetResponses(int ID)
    {
        var responses = from r in this.Responses where r.ID == ID orderby r.Date select r;

        return responses.ToList();
    }

また

 public List<Response> GetResponses(int ID)
    {
        var responses = from r in this.Responses where r.ID == ID orderby r.Date select r;

        return responses.ToList();
    }
4

3 に答える 3

9

コントローラーに大きな違いがあるとは思えませんが、おそらく、クラスのプライベート データに関する情報をできるだけ公開しないようにする必要があります。これは、具象型ではなくインターフェイスを公開し、クライアントがデータを操作するために必要な最小限の情報を公開するインターフェイスを使用することを意味します。

コントローラーが のみを必要とする場合は、IEnumerable<Response>それを の戻り型にすることを検討する必要がありGetResponsesます。

于 2009-01-11T01:09:05.750 に答える
1

違いは、IList インターフェイスを使用する場合、List の実装を変更してもコントローラーを更新する必要がないことです。ライブラリを他の人が利用できるようにする予定がない限り、おそらくそれほど大きな問題ではありません。その場合、変更を加えた場合にコードを更新する必要があるのはあなただけではないため、抽象化はおそらく正当化されます。

于 2009-01-11T01:49:37.947 に答える
-6

配列を返すことを検討し、IEnumerable をパラメーターとして受け入れることを検討してください。

于 2009-01-11T04:50:45.680 に答える