/// <inheritdoc/> public override string ToString() { if (lazyList != null) { value = lazyList.ReadOriginalValue_NoLock(this); lazyList = null; } return(value == null ? string.Empty : value.ToString()); }
/// <inheritdoc/> public override TValue GetValue_NoLock(int index) { if (lazyList != null) { value = lazyList.ReadOriginalValue_NoLock(index, origIndex); lazyList = null; } return(value); }
/// <summary> /// Constructor that should only be called when <see cref="LazyList{T}"/> is initialized. /// </summary> /// <param name="origIndex">Original index of this element</param> /// <param name="lazyList">LazyList instance</param> public LazyElement(int origIndex, LazyList <TValue> lazyList) { this.origIndex = (uint)origIndex; this.lazyList = lazyList; }
/// <inheritdoc/> public override void SetValue_NoLock(int index, TValue value) { this.value = value; lazyList = null; }