Я использую этот код, чтобы получить массив заголовков String, используемый в документе 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[*]
- что это значит?