请假设我有以下扩展方法,以便能够强制评估IEnumerable
:
public static List<T> EvaluateNow<T>(this IEnumerable<T> collection)
{
if (collection == null)
{
throw new ArgumentNullException("collection");
}
else
{
return (collection.ToList());
}
}
我想问一下是否有任何意义,IList<T>
而不是List<T>
作为此方法的返回类型(即向下转换为接口),以便既不将其及其依赖项绑定到特定实现(即使返回值实际上总是一List
)。