У меня есть метод расширения, объявленный таким образом:
public static IEnumerable<TEntity> AsEnumerable<TEntity>(this IDBQueryable<TEntity> dbQueryable) where TEntity : class
{
return dbQueryable.Query.AsEnumerable();
}
Пример использования будет следующим:
//It works properly
IDBQueryable<Customer> customers = GetCustomerSet();
customers.AsEnumerable();
// It cannot be compiled because int type doesn't fullfill
// the constrains of the extension method
// It must be a reference type in order to be passed as a parammeter.
IDBQueryable<int> customerIDs = GetCustomerIDs();
customers.AsEnumerable();
Как я могу иметь метод расширения, который работает для двух случаев использования, которые я показал?
Заранее спасибо.