The following code:
public interface ISomeData { IEnumerable Data { get; } } public class MyData : ISomeData { private List
Why not just return a List from your interface ...
public interface ISomeData { List Data { get; } }
If you know your consumers are going to both iterate over it (IEnumerable) and add to it (IList) then it seems logical to simply return a List<>.
IEnumerable
IList
List<>