c # Передача CancellationToken хорошо? - PullRequest
0 голосов
/ 10 ноября 2018

Можно ли запустить такой метод в моих задачах при обновлении моего интерфейса WPF?

   public static void InvokeOnUiThread(Action action, CancellationToken token)
    {
        if (Application.Current == null) return;
        if (Application.Current.Dispatcher.CheckAccess())
        {
            action();
        }
        else
        {
            if (token.IsCancellationRequested) return;
            Application.Current.Dispatcher.Invoke(action);
        }
    }

Я также хотел бы передать значение NULL, но не выяснил, как сделать CancellationToken обнуляемым.

1 Ответ

0 голосов
/ 11 ноября 2018

Попробуйте сделать его необязательным параметром со значением по умолчанию

static void InvokeOnUiThread(Action action, CancellationToken token = default(CancellationToken)) {
    //...
}

Таким образом, метод может быть вызван только действием

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...