标题并不完全有意义,但我不会分享其他名称。我稍后写了一个TOC Generation代码。基于此,我正在编写代码来检查重复项。代码如下所示代码的替代实现方式
curNumber = getTOCReference(selItem.SNo, IsParent);
CheckForDuplicates(curNumber, IsParent,out realTOCRef);
curNumber = realTOCRef;
而对于CheckForDuplicates代码
ListViewItem curItem = this.tlvItems.FindItemWithText(curNumber);
if (curItem != null)
{
curNumber = this.getTOCReference(curNumber, !IsParent);
CheckForDuplicates(curNumber, IsParent,out realTOCRef);
}
else
{
realTOCRef= curNumber;
}
这个代码做什么,它得到一个TOC,并试图找到它,如果它已经在ObjectListView存在,并且获得新的TOC如果有现有的TOC。一旦它确定生成的TOC不在列表中,它会将其存储在realTOCRef中并将其发送回主调用代码。
我用“out”返回最后生成的TOC,这是我不想做的事情。我之所以这么做是因为生成了非重复的TOC之后,返回结果并没有返回到调用代码,而是循环遍历之前的实例,然后返回。当发生环回时,要返回的TOC也被重置。
我将不胜感激任何帮助。
问题不是很清楚。我希望你正在寻找重构CheckForDuplicates代码并按如下方式进行调用。 -------------- 现有的: CheckForDuplicates(curNumber,IsParent,out realTOCRef); curNumber = realTOCRef; ----------- 必需: curNumber = CheckForDuplicates(curNumber,IsParent); – 2010-05-22 04:15:07