public override IDirectedCollectionValue <V> Backwards() { MappedDirectedCollectionValue <T, V> retval = (MappedDirectedCollectionValue <T, V>)MemberwiseClone(); retval.directedcollectionvalue = directedcollectionvalue.Backwards(); return(retval); //If we made this classs non-abstract we could do //return new MappedDirectedCollectionValue<T,V>(directedcollectionvalue.Backwards());; }
/// <summary> /// Get a collection that enumerates the wrapped collection in the opposite direction /// </summary> /// <returns>The mirrored collection</returns> public virtual IDirectedCollectionValue <T> Backwards() { return(new GuardedDirectedCollectionValue <T>(directedcollection.Backwards())); }
public override IDirectedCollectionValue<V> Backwards() { MappedDirectedCollectionValue<T, V> retval = (MappedDirectedCollectionValue<T, V>) MemberwiseClone(); retval._directedCollectionValue = _directedCollectionValue.Backwards(); return retval; }
public bool Equals(IDirectedCollectionValue <T> other) => Equals(this, other) && Equals((ExpectedDirectedCollectionValue <T>)Backwards(), other.Backwards());