using System; using System.Collections.Generic; namespace ObservableCollections.Tests { public struct ViewContainer : IEquatable>, IComparable> { public ViewContainer(T value) { Value = value; } public T Value { get; } public static implicit operator ViewContainer(T value) => new ViewContainer(value); public override int GetHashCode() { return Value.GetHashCode(); } public int CompareTo(ViewContainer other) { return Comparer.Default.Compare(Value, other.Value); } public bool Equals(ViewContainer other) { return EqualityComparer.Default.Equals(Value, other.Value); } } }