Exemple #1
0
    public static void InsertInOrderIfMissing <T>(this IList <T> collection, params T[] set)
        where T : IEquatable <T>, IComparable <T>
    {
        var comparer = new ObjectsComparer.Comparer <T>(new ComparisonSettings {
        });

        //var dif2f = Netsoft.Diff.Differences.Between(set, collection.ToArray());
        foreach (var item in set)
        {
            if (collection.Contains(item))
            {
                var single = collection.Single(a => a.Equals(item));
                // var diff = comparer.CalculateDifferences(item, single);
                var equal = TextJsonHelper.Compare(single, item);
                if (equal)
                {
                    continue;
                }
                collection.Remove(item);
            }

            collection.InsertInOrder(item);
        }
    }
Exemple #2
0
 public override string ToString()
 {
     return(TextJsonHelper.Serialise(this, this.GetType()));
 }