我在使用iTextSharp 5.5.10编写一个程序来检索pdf文件中嵌套书签的标题。在PDF文件中检索嵌套bookmars
我写了一个循环函数,它将一个Dictionary<string, object>
对象作为输入参数,并返回一个List<string>
对象,但不起作用。
public static List<string> bookmarksList(Dictionary<string, object> parent)
{
List<string> PDFbookmarks = new List<string>();
if (parent.ContainsKey("Kids"))
{
PDFbookmarks.Add(parent["Kids"].ToString());
Dictionary<string, object> child = parent["Kids"] as Dictionary<string, object>;
bookmarksList(child);
}
return PDFbookmarks;
}
的Dictionary<string, object>
对象我从GetBookmark(PDFReader)
方法得到它。
撇开这个事实,即ToString()
方法显然没有给我真正的孩子的标题,问题是我在第一次定期调用时得到一个NullReferenceException
:当我尝试初始化函数中的子变量时,一个null
指针。
相关的价值,Kids
关键是IList<Dictionary<string, object>>
对象本身,因为在调试窗口中显示:(?虽然这应该是一个List
对象,而不是一个IList
,我错了)
System.Collections.Generic.List'1[System.Collections.Generic.Dictionary'2[System.String,System.Object]]]
,所以我不明白为什么我得到了null
指针,而不是...
任何提示?
谢谢, Davide。
请将最终解决方案作为*答案*发布,而不是添加*问题*的一部分。 – mkl