我有一个实用方法,定义为
public static Dictionary<T, int> CountOccurences<T>(IEnumerable<T> items) { ... }
我有一些遗留代码不幸使用ArrayList
s 而不是List<T>
. 现在,我需要强制ArrayList
转换以使用上述方法,并且以下两个都应该工作
var v = CountOccurences<String>(arrayList.Cast<String>().ToArray());
或者
var v = CountOccurences<String>(arrayList.OfType<String>().ToArray());
这些都不能在 .NET 4.5 下的 VS2012 中工作
“System.Collections.ArrayList”不包含“OfType”的定义,并且找不到接受“System.Collections.ArrayList”类型的第一个参数的扩展方法“OfType”(您是否缺少 using 指令或程序集引用?)
但是,我已经在 LINQpad 中对此进行了测试,它们都可以工作。为什么我不能投我的ArrayList
?
谢谢你的时间。