コード例 #1
0
        /// <summary>
        /// Создать обёртку делегата, пригодную к подписке на события Цирцеи
        /// </summary>
        /// <param name="del">Обёртываемый делегат</param>
        /// <returns>Созданная обёртка</returns>
        public EventHandler Wrap(EventHandler del)
        {
            Delegate result = null;

            if (wrappersCache.TryGetValue(del, out result))
            {
                return((EventHandler)result);
            }

            var result2 = EventHandlerWrapper.Wrap(del);

            wrappersCache[del] = result2;
            return(result2);
        }
コード例 #2
0
        /// <summary>
        /// Создать обёртку делегата, пригодную к подписке на события Цирцеи
        /// </summary>
        /// <typeparam name="T">Тип параметра делегата</typeparam>
        /// <param name="del">Обёртываемый делегат</param>
        /// <returns>Созданная обёртка</returns>
        public EventHandler <T> Wrap <T>(EventHandler <T> del)
            where T : EventArgs
        {
            Delegate result = null;

            if (wrappersCache.TryGetValue(del, out result))
            {
                return((EventHandler <T>)result);
            }

            var result2 = EventHandlerWrapper <T> .Wrap(del);

            wrappersCache[del] = result2;
            return(result2);
        }