예제 #1
0
 private InternalCustomRoLockedResource([NotNull] TVault v, [NotNull] Box b,
                                        [NotNull] Func <TVault, Box, AcquisitionMode, Box> disposeMethod)
 {
     Debug.Assert(b != null && v != null && disposeMethod != null);
     _box           = b;
     _disposeMethod = disposeMethod;
     _flag          = new LockedResources.DisposeFlag();
     _vault         = v;
 }
예제 #2
0
 private InternalCustomUpgradableRoLockedResource([NotNull] TVault v, [NotNull] Box b,
                                                  [NotNull] Func <TVault, Box, AcquisitionMode, Box> disposeMethod,
                                                  [NotNull] Action <TimeSpan?, CancellationToken> upgradeAction, [NotNull] Action upgradeForeverAction)
 {
     Debug.Assert(b != null && v != null && disposeMethod != null &&
                  upgradeAction != null && upgradeForeverAction != null);
     _box             = b;
     _disposeMethod   = disposeMethod;
     _flag            = new LockedResources.DisposeFlag();
     _vault           = v;
     _upgradeWithWait = upgradeAction;
     _upgradeForever  = upgradeForeverAction;
 }