锐化器 访问修改后的闭合

本文关键字:修改 访问 锐化 | 更新日期: 2023-09-27 18:32:06

即使我对逻辑使用了Assert,也不会破坏代码,Resharpers仍然警告我可以访问修改后的闭包。

有没有办法将其更改为 Resharper 停止警告我或更好的方法来编写相同的代码行?

foreach 读取列表中的所有项目,最后一个项目除外。当剩下一个循环结束时,它就会中断。我带有 TakeWhile 的变量countSubEscala计算它以退出最后一个元素中的循环。

foreach 不会更改或删除列表的元素。

var subEscalas = Browser.SafeFindElements(By.CssSelector(".subescala tbody tr")).ToList();
var countSubEscala = subEscalas.Count();
Assert.Greater(countSubEscala, 0);
foreach (var x in subEscalas.TakeWhile(x => countSubEscala != 1))
{
    countSubEscala--;
    var seletorExcluir = By.XPath(string.Format("//a[contains(@class,'excluir-subescala')]", countSubEscala - 1));
    Browser.ClickIn(seletorExcluir);
    Browser.Wait(200);
}

锐化器 访问修改后的闭合

假设您正在寻找"除最后一个项目之外的所有项目",只需花费这么多项目应该可以:

foreach (var x in subEscalas.Take(subEscalas.Count() - 1))...

请注意,subEscalas.Count() - 1将在开始时计算一次,这与为每个项目重新评估的当前代码不同。