少なくとも私が言及しているのはデリゲートだと思います。これが私のシナリオです
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
デリゲートは別のメソッドに似ているので、別のスコープにする必要があるといつも思っていたので、ブール値にアクセスできることに混乱しています。ここでボンネットの下で何が起こっているかについての洞察を持っている人はいますか? デリゲートが呼び出されたときにブール値が残っているのはどうしてですか?