0
我有一個簡單的界面:在API中使用自定義接口或衆所周知的標準接口會更好嗎?
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
?爲什麼?
由於它實現IEnumerable用戶不會被迫不使用IEnumerable。 – Paparazzi 2012-08-07 22:17:54