示例#1
0
        /// <summary>
        /// Исполнение некоторых действий на подключении из пула.
        /// </summary>
        public void Execute
        (
            [NotNull] Action <ManagedClient64> action
        )
        {
            if (ReferenceEquals(action, null))
            {
                throw new ArgumentNullException("action");
            }

            using (IrbisPoolGuard guard = new IrbisPoolGuard(this))
            {
                action(guard);
            }
        }
示例#2
0
        /// <summary>
        /// Исполнение некоторых действий на подключении из пула.
        /// </summary>
        public TResult Execute <TResult, T1>
        (
            [NotNull] Func <ManagedClient64, T1, TResult> function,
            T1 userData
        )
        {
            if (ReferenceEquals(function, null))
            {
                throw new ArgumentNullException("function");
            }

            using (IrbisPoolGuard guard = new IrbisPoolGuard(this))
            {
                TResult result = function
                                 (
                    guard,
                    userData
                                 );

                return(result);
            }
        }