Esempio n. 1
0
 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();
 }
Esempio n. 2
0
 public LockableNeedle(T value, LockableContext context)
     : base(value)
 {
     if (ReferenceEquals(context, null))
     {
         throw new ArgumentNullException("context");
     }
     _context    = context;
     _needleLock = new NeedleLock <Thread>(_context.Context);
 }
Esempio n. 3
0
 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();
 }
Esempio n. 4
0
            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();
            }
Esempio n. 5
0
        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();
        }
Esempio n. 6
0
 public LockableNeedle(T value, LockableContext context)
     : base(value)
 {
     _context    = context ?? throw new ArgumentNullException(nameof(context));
     _needleLock = new NeedleLock <Thread>(_context.Context);
 }
Esempio n. 7
0
 internal void Add(NeedleLock <Thread> pin)
 {
     _needleLocks.Add(pin);
 }
Esempio n. 8
0
 internal void Add(NeedleLock<Thread> pin)
 {
     _needleLocks.Add(pin);
 }