私はシンプルなインターフェースを持っています:
public interface IReadOnlyList<T> : IEnumerable<T>
{
T this[int index] { get; }
int Count { get; }
}
私のAPIのユーザーは、彼らが一般的に知っているインターフェースではなく、このインターフェースを使用することを余儀なくされIList
ますIEnumerable
。IList
使用できるメンバーしか公開されていないので、これよりも好きです。IsReadOnly
Add()
Remove()
Insert()
未使用のジャンクがAPIを汚染することは望ましくありません。IEnumerable
また、ユーザーがインデックスとカウントにアクセスする必要があるため、これを優先します。これは正しい推論ですか、それとももっと身近なものを使用する必要がありIList
ますか?なんで?