至少我认为我指的是代表。这是我的方案
bool allow_login;
StationDC.Load(query, p =>
{
if (p.Entities.SingleOrDefault(q => q.Category == "Site Status").Value == "Offline") allow_login = false;
else allow_login = true;
}, true);
我仍然只是很难理解这里实际发生了什么,但据我所知,我传递给StationDC.Load
的委托异步运行,即使在同一个线程上也是如此。我很困惑虽然我可以访问布尔allow_login
因为我一直以为委托更像是一个单独的方法,所以应该在不同的范围内。任何人都有一些洞察力在这里引起了什么?当我的委托被调用时,我的布尔值如何仍然存在?