私はシンプルなインターフェースを持っています:
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ますか?なんで?