4
インターフェースまたはクラスを返す
メソッドがあるとしましょう public List<User> GetBatchOfUsers(IEnumerable<int> userIDs) { List<User> users = new List<User>(); // some database stuff return users; } を返すのではなく、インターフェイス(IListまたはのいずれかIEnumerable)を返す方がよいことを読みましたList。私がそうすることについて聞いたいくつかの議論は、それがデータを隠すことであり、API開発者に後日データの内部表現を変更する柔軟性を与えます。 を返すだけの私の懸念IEnumerableは、ランダムアクセスやCountプロパティなどの機能を失うことです。 IEnumerableメソッドとして動作するための最小限の要件である、メソッドにデータを送信するための最高の柔軟性を消費者に与えるため、パラメーターとしてを受け入れることには意味があることを知っています。 戻り値型のベストプラクティスは何ですか?