← Back

Comments (4)

Login or Create account, Log in or register to leave a comment

Mikhail Sukhov
Mikhail Sukhov

Vasiily: Хочу разобраться в работе функции GuiAsync. Не могли бы вы показать ее исходник?

Это всего лишь обертка:

public static void GuiAsync(this Dispatcher dispatcher, Action action, DispatcherPriority priority)
		{
			if (dispatcher == null)
				throw new ArgumentNullException("dispatcher");

			if (action == null)
				throw new ArgumentNullException("action");

			if (dispatcher.CheckAccess())
				action();
			else
				dispatcher.BeginInvoke(action, priority);
		}

Вся магия в WPF.

Vasiily
Vasiily Author

Спасибо

Сергей Гаврилов
Сергей Гаврилов

Насколько я понял GuiAsync используется для маршалинга в поток формы.. Это так?

kydna
kydna

Для Windows.Forms код может выглядеть как то так:

        public void GuiAsync(MethodInvoker action)
        {
            if (action == null)
                throw new ArgumentNullException("action");

            if (!this.InvokeRequired)
                action();
            else
                this.Invoke(action);
        }