public void Dispose() { if (!Disposed) { reference.Release(); reference = null; } }
public void Reset(T reference) { if (!Disposed) { Dispose(); } this.reference = new InternalSharedRef(reference); }
public SharedRef(SharedRef <T> source) { if (source == null) { throw new ArgumentNullException("source"); } this.reference = source.reference; this.reference.Retain(); }
public SharedRef(T reference) { this.reference = new InternalSharedRef(reference); // refcount is 1 }