当前位置:编程学习 > C#/ASP.NET >>

VSTO excel,在试图将dynamic转为Object[]时出现“无法将“System.Object[*]”的对象强制转换System.Object[]“

在VSTO ,excel中使用了ListObject,然后对其中一列使用了自动筛选,我希望得到筛选所用的条件,代码如下:
foreach (Excel.Filter ft in testParam.AutoFilter.Filters)  //testParam是Excel.ListObject对象
                {
                    if (ft.On)
                    {
                        temp = ft.Count;
                        if (ft.Count == 2)
                        {
                            filterList.Add(ft.Criteria1);  //filterList是个List<string>对象
                            filterList.Add(ft.Criteria2);
                        }
                        else
                        {
                            object[] temp2 = ft.Criteria1 as object[];
                            string i = (temp2 is object[]).ToString();
                        }    
                    }
                }
ft.Criteria1 中的值就是所用的筛选条件,在监视中看到结果如下:


看起来是个string类型的数组,但使用object[] temp = ft.Criteria1 as object[];得到的确是空值。
使用(object[])(ft.Criteria1)时可以有如下提示:"无法将类型为“System.Object[*]”的对象强制转换为类型“System.Object[]”。"

使用监视窗口看到如下结果:

这都是什么情况啊!请哪位大神指点下!用的是VS2010 .net4.0
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,