C#: запуск события при добавлении объекта в очередь

Я только что написал о том, что visual-c# я называю TriggeredQueue. Это queue вдохновило Марка Гравелла delegates на ответ.

Вы можете найти queue мое сообщение здесь: http://joesauve.com/triggeredqueuet

И суть c#-language здесь: http://gist.github.com/jsauve/b2e8496172fdabd370c4

Он состоит из четырех c# событий:

  • WillEnqueue
  • WillDequeue
  • DidEnqueue
  • DidDequeue

Вы можете подключиться .cs-file к любому из них следующим delegates образом:

YourQueue.WillEnqueue += (sender, e) => {
    // kick off some process
};
YourQueue.DidEnqueue += (sender, e) => {
    // kick off some process
    // e.Item provides access to the enqueued item, if you like
};
YourQueue.WillDequeue += (sender, e) => {
    // kick off some process
};
YourQueue.DidDequeue += (sender, e) => {
    // kick off some process
    // e.Item provides access to the dequeued item, if you like
};

Один изящный трюк csharp заключается в том, что вы c#-language можете использовать метод delegate DidDequeue для запуска некоторого c-sharp процесса, чтобы убедиться, что delegate очередь заполнена, сделав c#-language веб-запрос или загрузив некоторые queue данные из файловой системы c#.net и т. д. Я использую этот delegate класс в мобильных приложениях csharp Xamarin для убедитесь, что queue данные и изображения предварительно c#-language кэшированы, чтобы обеспечить .cs-file удобство взаимодействия с c#.net пользователем, вместо загрузки delegates изображений ПОСЛЕ их прокрутки delegate на экране (как вы могли бы visual-c# видеть в Facebook и бесчисленном func-delegate множестве других приложений).

c#

events

delegates

queue

2022-05-05T18:34:21+00:00
Вопросы с похожей тематикой, как у вопроса:

C#: запуск события при добавлении объекта в очередь