Пример #1
0
        public override void ExecuteBefore()
        {
            var lockTaken = false;

            var timeout = TimeSpan.FromMilliseconds(0.0);

            if (GetParameter(1) is int)
            {
                timeout = TimeSpan.FromMilliseconds((int)GetParameter(1));
            }

            if (GetParameter(1) is TimeSpan)
            {
                timeout = (TimeSpan)GetParameter(1);
            }

            MonitorEnhancements.TryEnter(GetParameter(0), timeout, ref lockTaken);

            if (GetParameter(1) is bool)
            {
                ModifyParameter(1, lockTaken);
            }

            Result = lockTaken;
        }
Пример #2
0
        public override void ExecuteBefore()
        {
            var lockTaken = false;

            MonitorEnhancements.TryEnter(GetParameter(0), TimeSpan.FromMilliseconds(0.0), ref lockTaken);
            Result = lockTaken;
        }