我有一个由事件设置的布尔值的问题。
private void HandlePageStart(Document document, PdfWriter writer)
{
ItemsTableColumnHeadersInsertNeeded = true;
Console.WriteLine("Page started");
}
HandlePageStart函数由事件触发,它工作正常,并将boolean设置为true。但是,如果在另一个函数的循环中运行的语句不起作用,并且if语句中的代码永远不会执行。
private void AddItemsToTable(Invoice inv, PdfPTable table)
{
foreach (InvoiceItem item in inv.Items)
{
...add content to page...
if (ItemsTableColumnHeadersInsertNeeded)
{
AddItemsTableColumnsHeaders(table);
ItemsTableColumnHeadersInsertNeeded = false;
}
}
}
通常导致此类行为的事情是:
我要尝试的第一件事是搜索具有该名称的变量的所有赋值(不是intellisense而是文本搜索,以获得具有相同名称的所有不同变量)。在每个赋值上设置断点,并查看以什么顺序调用哪个。