我通过反思阅读了一个私人领域:
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
。
怎么能把它扔到那个东西上呢?
答案 0 :(得分:0)
ArrayList
不是通用的,并且不实现通用接口,因此您需要转换为非泛型版本,例如。
var al = (ArrayList)parameters
var l = (System.Collections.IList)parameters