非泛型类型'System.Collections.ArrayList'不能与类型参数一起使用

时间:2015-04-24 20:08:20

标签: c# reflection

我通过反思阅读了一个私人领域:

var parameters = typeof(HqlProvider).GetField("paramList", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(query);

它工作正常。我可以放入一个断点,看看一切。但是当我尝试将参数转换为它(ArrayList)时,我得到The non-generic type 'System.Collections.ArrayList' cannot be used with type arguments

怎么能把它扔到那个东西上呢?

1 个答案:

答案 0 :(得分:0)

ArrayList不是通用的,并且不实现通用接口,因此您需要转换为非泛型版本,例如。

var al = (ArrayList)parameters
var l = (System.Collections.IList)parameters