如何检查 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 版本修复。
我没有尝试 运行 这个解决方法,这只是检查源代码后的猜测。如果解决方法有帮助,请告诉我。
我需要检查这些部分是否有 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 版本修复。
我没有尝试 运行 这个解决方法,这只是检查源代码后的猜测。如果解决方法有帮助,请告诉我。