Is there a problem with using IEnumerable as a return type?
FxCop complains about returning List (it advises returning Coll
This is really a two part question.
1) Is there inherently anything wrong with returning an IEnumerable
No nothing at all. In fact if you are using C# iterators this is the expected behavior. Converting it to a List
2) Are there any circumstances where it may be preferable to return something other than IEnumerable
Yes. While it's not a great idea to assume much about your callers, it's perfectly okay to make decisions based on your own behavior. Imagine a scenario where you had a multi-threaded object which was queueing up requests into an object that was constantly being updated. In this case returning a raw IEnumerable
This is certainly the rarer case though.