我有下面的代碼生成擴展到IEnumerable<T>
:名單不繼承一個IEnumerable擴展方法
//http://stackoverflow.com/a/1779135/1180926
public static IEnumerable<T> SkipLast<T>(this IEnumerable<T> source, int n)
{
//.......
}
當我嘗試將其應用到一個列表:
public static void RemoveTwo(List<string> strList)
{
strList = strList.SkipLast(2);
}
我得到以下錯誤:
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable' to 'System.Collections.Generic.List'. An explicit conversion exists (are you missing a cast?)
但是List<T>
繼承IEnumerable<T>
(src),所以不應該也繼承它的擴展方法嗎?
咄。感謝:-) – Arithmomaniac