You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mchsamples-.net-core/ex_023_012_EqualityComparer/Nounours.EqualityComparer.cs

49 lines
1.6 KiB

// ========================================================================
//
// Copyright (C) 2016-2017 MARC CHEVALDONNE
// marc.chevaldonne.free.fr
//
// Module : Nounours.EqualityComparer.cs
// Author : Marc Chevaldonné
// Creation date : 2016-09-29
//
// ========================================================================
using System;
using System.Collections.Generic;
namespace ex_023_012_EqualityComparer
{
/// <summary>
/// Très bien quand on veut un deuxième equality comparer qui n'est pas celui par défaut, et qu'on a accès au code source de la classe
/// </summary>
partial class Nounours
{
private class DateDeNaissanceEqualityComparer : EqualityComparer<Nounours>
{
public override bool Equals(Nounours x, Nounours y)
{
return x.DateDeNaissance == y.DateDeNaissance;
}
public override int GetHashCode(Nounours obj)
{
return (int)(obj.DateDeNaissance.Ticks % Int32.MaxValue);
}
}
public static IEqualityComparer<Nounours> DateDeNaissanceEqualityCompare
{
get
{
if (mDateDeNaissanceEqualityCompare == null)
{
mDateDeNaissanceEqualityCompare = new DateDeNaissanceEqualityComparer();
}
return mDateDeNaissanceEqualityCompare;
}
}
private static DateDeNaissanceEqualityComparer mDateDeNaissanceEqualityCompare = null;
}
}