/// <summary> /// Closes the scope, releasing the reference. /// </summary> public void Dispose() { if (m_map != null) { m_map.CloseScope(Key); m_map = null; } }
/// <summary> /// Constructor. Internal use only. /// </summary> internal Scope(ScopedReferenceMap <TKey, TValue> map, TKey key, TValue value, object accessVerifier) { Contract.Assert(map.m_accessVerifier == accessVerifier, "Scopes can only be created by a parent ScopedReferenceMap"); m_map = map; Key = key; Value = value; }
public ScopePendingItem(ScopedReferenceMap <TKey, TValue> map, TKey key, bool dereference) { m_map = map; Key = key; m_dereference = dereference; }