public TransactNeedle(T value, ICloner <T> cloner, IEqualityComparer <T> comparer) : base(value) { _cloner = cloner ?? throw new ArgumentNullException(nameof(cloner)); _comparer = comparer ?? EqualityComparer <T> .Default; _needleLock = new NeedleLock <Thread>(Transact.Context); _id = RuntimeUniqueIdProvider.GetNextId(); }
public LockableNeedle(T value, LockableContext context) : base(value) { if (ReferenceEquals(context, null)) { throw new ArgumentNullException("context"); } _context = context; _needleLock = new NeedleLock <Thread>(_context.Context); }
public Needle(T value, ICloner <T> cloner, IEqualityComparer <T> comparer) : base(value) { if (ReferenceEquals(cloner, null)) { throw new ArgumentNullException("cloner"); } _cloner = cloner; _comparer = comparer ?? EqualityComparer <T> .Default; _needleLock = new NeedleLock <Thread>(Context); _id = RuntimeUniqueIdProdiver.GetNextId(); }
public Needle(T value, IEqualityComparer <T> comparer) : base(value) { _cloner = CloneHelper <T> .GetCloner(); if (ReferenceEquals(_cloner, null)) { throw new InvalidOperationException("Unable to get a cloner for " + typeof(T)); } _comparer = comparer ?? EqualityComparer <T> .Default; _needleLock = new NeedleLock <Thread>(Context); _id = RuntimeUniqueIdProdiver.GetNextId(); }
public TransactNeedle(T value) : base(value) { _cloner = CloneHelper <T> .GetCloner(); if (_cloner == null) { throw new InvalidOperationException("Unable to get a cloner for " + typeof(T)); } _comparer = EqualityComparer <T> .Default; _needleLock = new NeedleLock <Thread>(Transact.Context); _id = RuntimeUniqueIdProvider.GetNextId(); }
public LockableNeedle(T value, LockableContext context) : base(value) { _context = context ?? throw new ArgumentNullException(nameof(context)); _needleLock = new NeedleLock <Thread>(_context.Context); }
internal void Add(NeedleLock <Thread> pin) { _needleLocks.Add(pin); }
internal void Add(NeedleLock<Thread> pin) { _needleLocks.Add(pin); }