Могу ли я / я "поделиться" событием, сделав его статическим и привязанным к экземпляру? - PullRequest
0 голосов
/ 03 июля 2018

У меня есть "конвейерная" система. Существует тип: Pipeline, который можно создать, а затем выполнить для различных данных.

var myPipeline = new Pipeline();
myPipeline.Execute("something");

var myOtherPipeline = new Pipeline();
myOtherPipeline.Execute("something else");

Я хочу добавить OnExecuted событие, которое будет вызываться при выполнении конвейера. Но я хочу добавить его как к типу Pipeline, , так и , чтобы отделить экземпляры конвейера. Итак, как статическое, так и экземплярное событие.

  • Статическое событие: выполняется всякий раз, когда любой конвейер выполняется в любом экземпляре конвейера
  • Событие экземпляра: выполняется всякий раз, когда выполняется конкретная реализация конвейера

Есть ли здесь лучшая практика? Мне просто нужно добавить два события?

  • myPipeline.OnPipelineExecuted и myOtherPipeline.OnPipelineExecuted
  • Pipeline.OnAnyPipelineExecuted (это название звучит ужасно)

Или я мог бы как-то повторно использовать то же событие? Если это так, должен сделать это?

Обновление:

Смотрите первый и второй комментарии. Это было просто не очень хорошая идея для начала. Было бы немного архитектурной акробатики, чтобы избежать нескольких дополнительных строк кода реализации.

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