Generic overloaded method resolution problems
<p>I have two methods with these signatures:</p>

<pre><code>void Method&lt;T&gt;(T data)
{
}

void Method&lt;T&gt;(IEnumerable&lt;T&gt; data)
{
}
</code></pre>

<p>Its an overload of the same method to take either a single object or a list of them. If I try to pass a List&lt;'T> to it, it resolves to the first method, when obviosly i want the second. I have to use list.AsEnumerable() to get it to resolve to the second. Is there any way to make it resolve to the second regardless of whether the list is type T[], IList&lt;'T>, List&lt;'T>, Collection&lt;'T>, IEnumerable&lt;'T>, etc.</p>
