如何检查 MigraDoc 中是否存在 LastParagraph

How to check if LastParagraph exists in MigraDoc

我需要检查这些部分是否有 LastParagraph,但将它与 null 进行比较不起作用,而且我似乎没有找到任何相关方法可以帮助我检查是否有 LastParagraph。

有人知道怎么做吗?

我试过:

var paragraph = sec.LastParagraph == null ? sec.AddParagraph() : sec.LastParagraph;

Paragraph paragraph = new Paragraph();
if (sec.LastParagraph == null)
    paragraph = sec.AddParagraph();
else
    paragraph = sec.LastParagraph;

还有:

Paragraph paragraph = sec.LastParagraph;
if(paragraph == null)
    paragraph = sec.AddParagraph();

全部扔一个System.NullReferenceException

根据智能感知,如果它不存在,它应该 return null

我真的不想将此代码包装在 try catch block 中,但这是唯一的方法吗?

我的猜测是,仅当您调用 LastParagraph 而没有为该部分调用任何 AddXxx 方法时才会发生异常。

MigraDoc 中存在一个潜在的错误,在调用 LastParagraph 之前调用 var dummy = sec.Elements.Count; 之类的东西应该可以避免异常,直到这个错误被即将发布的 MigraDoc 版本修复。

我没有尝试 运行 这个解决方法,这只是检查源代码后的猜测。如果解决方法有帮助,请告诉我。