private RwLockedResource <TVault, T> UpgradeWaitForever() { if (_box == null) { throw new InvalidOperationException("This object is invalid."); } _upgradeForever(); return(RwLockedResource <TVault, T> .CreateWritableLockedResource(_vault, _box)); }
private RwLockedResource <TVault, T> UpgradeAction(TimeSpan?ts, CancellationToken token) { if (_box == null) { throw new InvalidOperationException("This object is invalid."); } if (ts.HasValue && ts <= TimeSpan.Zero) { throw new ArgumentOutOfRangeException(nameof(ts), ts, @"Not null timespan must have positive value."); } _upgradeWithWait(ts, token); return(RwLockedResource <TVault, T> .CreateWritableLockedResource(_vault, _box)); }