我使用以下代码来获取一个MS Word 2007文档(.docx)中所使用的标题的字符串数组:
dynamic arr = Document.GetCrossReferenceItems(WdReferenceType.wdRefTypeHeading);
通过调试器,我看到arr
被动态分配为一个包含文档中所有标题(约40个条目)的字符串数组。 迄今为止一切顺利。
然后,我想访问这些字符串,但无论我如何操作,都会得到以下异常:
InvalidCastException:
Unable to cast object of type 'System.String[*]' to type 'System.String[]'.
我尝试了不同的方法来访问字符串:
通过索引:
String arr_elem = arr[1];
通过将其转换为IEnumerable:
IEnumerable list = (IEnumerable)arr;
通过使用一个简单的 foreach
循环:
foreach (String str in arr)
{
Console.WriteLine(str);
}
然而,无论我尝试什么,最终都会得到如上所示的相同异常。
有人能解释一下我错过了什么/我做错了什么吗?特别是String[*]
- 它是什么意思?