9
Автоматизація шаблону коду InvokeRequired
Я болісно усвідомлював, як часто потрібно писати наступний зразок коду в GUI-коді, керованому подіями, де private void DoGUISwitch() { // cruisin for a bruisin' through exception city object1.Visible = true; object2.Visible = false; } стає: private void DoGUISwitch() { if (object1.InvokeRequired) { object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); })); } else …