C# MS VSTO加载项的_Document.GetCrossReferenceItems(对象)中可能存在错误?

C# MS VSTO加载项的_Document.GetCrossReferenceItems(对象)中可能存在错误?,c#,ms-word,vsto,C#,Ms Word,Vsto,我想为Word编写一个小的VSTO addin(C#),它将在文档中的选定位置放置文档标题的交叉引用列表。为此,我考虑使用Document类中的GetCrossReferenceItems()方法。然而,我观察到一种非常奇怪的行为。如果我运行以下代码: object RefItems = YourDoc.GetCrossReferenceItems(Word.WdReferenceType.wdRefTypeHeading); 其中,YourDoc是对当前活动文档的引用,然后在调试器窗口中查看

我想为Word编写一个小的VSTO addin(C#),它将在文档中的选定位置放置文档标题的交叉引用列表。为此,我考虑使用Document类中的
GetCrossReferenceItems()
方法。然而,我观察到一种非常奇怪的行为。如果我运行以下代码:

object RefItems = YourDoc.GetCrossReferenceItems(Word.WdReferenceType.wdRefTypeHeading);
其中,
YourDoc
是对当前活动文档的引用,然后在调试器窗口中查看对象的内容,我注意到前十项总是空的!我在不同的文档中尝试过这一点,行为总是一样的


您是否观察到这种行为,您是否同意这实际上是一个软件错误,或者我是否错过了成功使用此方法所需的配置?

文档有多大?在非常大的文档中有一些已知的问题……它一点也不大,只有几页(4到10页之间)。我无法在示例文档中重现这个问题—只是一些文本,其中一些段落以标题样式标记。但是,为了正确地拾取项目,我确实必须进行一些转换,您的方法给我造成了错误:
Array-RefItems=(Array)(object)doc.GetCrossReferenceItems(Word.WdReferenceType.wdRefTypeHeading)