Выбор перегрузки методов расширения

У меня есть два метода расширения:

public static IPropertyAssertions<T> ShouldHave<T>(this T subject)
{
    return new PropertyAssertions<T>(subject);
}

public static IPropertyAssertions<T> ShouldHave<T>(this IEnumerable<T> subject)
{
    return new CollectionPropertyAssertions<T>(subject);
}

Теперь я пишу код, который его использует:

List<Customer> collection2 = new List<Customer>(); 
collection2.ShouldHave(); //first overload is chosen
IEnumerable<Customer> collection3 = new List<Customer>(); 
collection3.ShouldHave(); //second overload is chosen

Вторая перегрузка выбирается, только если я явно указываю тип IEnumerable. Есть ли способ выбрать вторую перегрузку в обоих случаях?

12
задан Dennis Doomen 25 March 2012 в 14:49
поделиться