title: WCF OperationContract - which generic collection type should I expose?
body: <p>I have a WCF web service that has a method that returns a generic collection. Now, my question is: Should I expose it as <code>ICollection&lt;T&gt;</code>, <code>List&lt;T&gt;</code>, <code>IList&lt;T&gt;</code>, <code>IEnumerable&lt;T&gt;</code> or something else?  </p>
  
  <p>I suppose that <code>List&lt;T&gt;</code> is out of the question since I want to avoid <a href="http://msdn.microsoft.com/en-us/library/ms182142.aspx" rel="noreferrer">CA1002 errors</a>, but the underlying type will be a <code>List&lt;T&gt;</code>.</p>
  
  <p>I am really interested in hearing your takes on this, preferably with a good explanation of why you think what you think.</p>
  
  <p>Thanks in advance</p>