在我的 ASP MVC 3 站点上的验证.cs
文件中,我正在尝试对数据库进行快速检查,以确定是否存在用户输入的代理 ID 号。但是,ReSharper 在agentId
读取Access to modified closure
. 我不确定这个错误是什么意思,或者这个陈述有什么问题。
这是我们写入验证程序的辅助方法。它不是在循环上设置的,而是在五个位置之一检测到代理 ID 时从上方调用。
这是调用的代码StatValidation
if (String.IsNullOrEmpty(agt.AgencyId1))
{
_sb.Append("One Agency Id is required; ");
}
else
{
StatValidation(agt.AgencyCompany1,
agt.AgencyId1.Trim(), agt.AgencyIdType1, 1);
}
//Conditionally validate remaining Agent IDs
if (!String.IsNullOrWhiteSpace(agt.AgencyId2) ||
!String.IsNullOrWhiteSpace(agt.AgencyCompany2))
{
StatValidation(agt.AgencyCompany2, agt.AgencyId2, agt.AgencyIdType1, 2);
}
这是给出错误的方法标题和代码行
private static void StatValidation(string company,
string agentId, string idType, int i)
{
AgentResources db = new AgentResources();
// ReSharper is highlighting 'agentId' with the error
// 'Access to modified closure'
var check = db.SNumberToAgentId.Where(x => x.AgentId.Equals(agentId));
if (check == null) _sb.Append("Agent ID not found; ");