私はこの事件を理解しようとしています。
の戻り値の型を持つメソッドが必要だとしましょうList<T>
。
public List<T> GetAllItems(string category)
{ ... }
代わりにこのヘッダーを使用するようにアドバイスされました:
public IList<T> GetAllItems(string category)
{ ... }
なんでそうなの?
私はいくつかの調査を行いました.1つの答えは柔軟性であり、同じインターフェースを実装している場合は型を変更できるということです。しかし、変更を防ぐためだけにインターフェイスを公開して何かをしなければならないという動機 (?) は、よくわかりませんでした。繰り返しますが、なぜIList
代わりに戻る方が良いのList
でしょうか?