PREventBus

namespace PRTelegramBot.EventBus
{
    /// <summary>
    /// Шина событий.
    /// </summary>
    public static class PREventBus
    {
        #region Поля и свойства

        /// <summary>
        /// Подписчики событий.
        /// </summary>
        private static Dictionary<Type, SubscribersList<IPRGlobalSubscriber>> subscribers = new Dictionary<Type, SubscribersList<IPRGlobalSubscriber>>();

        #endregion

        #region Методы

        /// <summary>
        /// Подписаться.
        /// </summary>
        /// <param name="subscriber">Подписчик.</param>
        public static void Subscribe(IPRGlobalSubscriber subscriber)

        /// <summary>
        /// Отписаться.
        /// </summary>
        /// <param name="subscriber">Подписчик.</param>
        public static void Unsubscribe(IPRGlobalSubscriber subscriber)

        /// <summary>
        /// Вызвать событие.
        /// </summary>
        /// <typeparam name="TSubscriber">Тип подписчика.</typeparam>
        /// <param name="action">Метод вызова.</param>
        public static void RaiseEvent<TSubscriber>(Action<TSubscriber> action) where TSubscriber : class, IPRGlobalSubscriber

        #endregion
    }
}

Last updated