Not sure how many of you guys have experienced FxCop Rule# CA1002 : Do Not Expose Generic Lists through out your coding ventures. I'm not sure what to think of it...
In one hand, I see the flexiblity of returning the IList<T> type since there could be x-number of things that could implemented. Thus not tying me up with a specific implementation such as List<T> or Collection<T>. On the other, Collection<T> does allow you to override functionality and also implements IList<T>.
The rule does mention that List<T> (IList<T>) is designed for performance and Collection<T> is designed for inheritance...
What are your thoughts on this? Would you rather use an interface or a concrete?