/// <summary> /// Executes the action if the @lock is aquired and disposes the @lock to release the lease /// </summary> /// <param name="lock">The named lock</param> /// <param name="action">The action to execute</param> /// <param name="param">The action parameter</param> public static void Execute <T>(this CloudLock @lock, Action <T> action, T param) { try { if (@lock.HasLock) { action(param); } } finally { @lock.Dispose(); } }
/// <summary> /// Executes the action if the @lock is aquired and disposes the @lock to release the lease /// </summary> /// <param name="lock">The named lock</param> /// <param name="action">The action to execute</param> public static void Execute(this CloudLock @lock, Action action) { try { if (@lock.HasLock) { action(); } } finally { @lock.Dispose(); } }