至少我认为我指的是代表。这是我的场景
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
,因为我一直认为委托更像是一个单独的方法,所以应该在不同的范围内。任何人都对这里的引擎盖下发生了什么有所了解?当我的代表被调用时,我的布尔值如何持续存在?