private CopyOnWriteDictionary(Microsoft.Build.Collections.CopyOnWriteDictionary <K, V> that) { this.keyComparer = that.keyComparer; this.backing = that.backing; if (this.backing != null) { lock (this.backing.SyncRoot) { this.backing.AddRef(); } } }
/// <summary> /// Cloning constructor. Defers the actual clone. /// </summary> private CopyOnWriteDictionary(CopyOnWriteDictionary <K, V> that) { keyComparer = that.keyComparer; backing = that.backing; if (backing != null) { lock (((ICollection)backing).SyncRoot) { backing.AddRef(); } } }
/// <summary> /// Cloning constructor. /// </summary> private CopyOnWriteBackingDictionary(CopyOnWriteBackingDictionary <K1, V1> that) : base(that, that.Comparer) { // Tracing.Record("New COWBD-clone"); }