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.
49 lines
1.6 KiB
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;
|
|
}
|
|
}
|