Назовите класс, который помещает действие в очередь диспетчера, если его там еще нет - PullRequest
3 голосов
/ 28 июля 2010

Я написал простой класс, который работает с UIElement и действием для вызова. Всякий раз, когда действие вызывается, оно помещает действие в очередь диспетчера, если его там еще нет. Я использую его, чтобы уменьшить количество звонков.

class NoNameClass
{
 // has element and action in its ctor.

 void NoNameMethod()
 {
  if (!inQueue)
  {
   inQueue = true;
   element.Dispatcher.BeginInvoke(()=> 
    {
      inQueue = false;
      action();
    }
  }
 }
 bool inQueue;
}

Не могли бы вы предложить название для этого класса и метода? Спасибо

Ответы [ 2 ]

1 голос
/ 28 июля 2010

В качестве имени для класса я определил бы «DispatcherAction» и метод, который я бы назвал «Очередь».

Возможно, вы можете добавить прилагательные «отложенный» или «отложенный» к именам, потому что этодо Диспетчера, когда он выполняет действие.Так что ясно, что действия будут выполнены не сразу.

Обновление: В случае, если действия отбрасываются, когда они уже находятся в очереди, я бы назвал метод "TryQueue "и вернуть логическое значение.Метод возвращает «true», если действие помещено в очередь, «false», если действие отменено, поскольку оно уже поставлено в очередь.

0 голосов
/ 28 июля 2010

Как насчет класса DispatchManager с методом Start ()?

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