Я использую этот код для получения строкового массива заголовков, используемых в документе MS Word 2007 (.docx):
dynamic arr = Document.GetCrossReferenceItems(WdReferenceType.wdRefTypeHeading);
Используя отладчик, я вижу, что arr
динамически назначается массив String с заголовками всех моих заголовков в документе (около 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 [*]
- что это значит?