Tôi đã đoạn mã sau:Làm thế nào để đảm bảo trạng thái đúng của các biến địa phương khi sử dụng BeginInvoke phương pháp
string message;
while (balloonMessages.TryDequeue(out message))
{
Console.WriteLine("Outside: {0}", message);
BeginInvoke((MethodInvoker)delegate()
{
Console.WriteLine("Inside: {0}", message);
});
}
Nó mang lại cho tôi kết quả này:
Outside: some_message
Inside:
Làm thế nào tôi có thể đảm bảo rằng một số các biến cục bộ sẽ được chuyển đến phương thức BeginInvoke
như mong đợi?
Xin cảm ơn trước.
Nó có thể do 'truy cập vào đóng cửa được sửa đổi'. –
@ X-TECH Tôi đồng ý nhưng chắc chắn điều đó sẽ chỉ đúng nếu balloonMessages tin nhắn cuối cùng là một chuỗi rỗng hoặc trống? –