Получить FixedDocuments из FixedDocumentSequence - PullRequest
3 голосов
/ 10 июня 2010

Довольно просто:

У меня есть XPSDocument, который я извлекаю с диска. Я хотел бы получить FixedDocuments из этого XpsDocument, но я натолкнулся на небольшую часть, поскольку могу получить только FixedDocumentSequence и не могу понять, как извлечь XpsDocuments из этой последовательности.

Пока я пробовал что-то вроде:

FixedDocument doc = (FixedDocument)myFixedDocSequence.References.First();   

Это приведение не работает, но оно иллюстрирует то, чего я пытаюсь достичь.

1 Ответ

6 голосов
/ 10 июня 2010

myFixedDocSequence.References.First(); должен вернуть DocumentReference. Исходя из этого, вместо литья вы пытались использовать метод DocumentReference.GetDocument , который возвращает FixedDocument? Код будет выглядеть так:

DocumentReference docReference = myFixedDocSequence.References.First();
FixedDocument doc = docReference.GetDocument(false);

Для получения дополнительной информации о параметрах GetDocument прочитайте документацию, на которую ссылаются выше. Кроме того, если вы не уверены, что References.First() не будет нулевым, рассмотрите возможность использования FirstOrDefault() и проверки на нулевое значение перед использованием возвращенного объекта.

...