Returning 'IList' vs 'ICollection' vs 'Collection'とそれがリンクしている他の質問を見てきましたが、私はまだこの問題について混乱しています。
デモンストレーションのために、次のようにパブリックメソッドを公開するクラスがあると仮定しましょう。
public ReadOnlyCollection<Type> GetReadOnlyCollection(IEnumerable<Type> enumerable)
{
List<Type> list = enumerable.ToList();
return new ReadOnlyCollection<Type>(list);
}
CA1002に従うために、具体的に を返したい場合、メソッドは実際のコレクション クラス( ReadOnlyCollection
、Collection
など) またはそれらのインターフェイス( IList
、など) を返す必要がありますか?ICollection
ReadOnlyCollection