From 6ce52b74ac8273a04cceb079e9f68f922e2bd168 Mon Sep 17 00:00:00 2001 From: Chris Cameron Date: Wed, 6 Jun 2018 11:01:16 -0400 Subject: [PATCH] feat: Moved FileNameEqualityComparer from Settings --- .../Comparers/FileNameEqualityComparer.cs | 29 +++++++++++++++++++ .../ICD.Common.Utils_SimplSharp.csproj | 1 + 2 files changed, 30 insertions(+) create mode 100644 ICD.Common.Utils/Comparers/FileNameEqualityComparer.cs diff --git a/ICD.Common.Utils/Comparers/FileNameEqualityComparer.cs b/ICD.Common.Utils/Comparers/FileNameEqualityComparer.cs new file mode 100644 index 0000000..60cdcca --- /dev/null +++ b/ICD.Common.Utils/Comparers/FileNameEqualityComparer.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; +using ICD.Common.Utils.IO; + +namespace ICD.Common.Utils.Comparers +{ + public sealed class FileNameEqualityComparer : IEqualityComparer + { + private static FileNameEqualityComparer s_Instance; + + public static FileNameEqualityComparer Instance + { + get { return s_Instance ?? (s_Instance = new FileNameEqualityComparer()); } + } + + private FileNameEqualityComparer() + { + } + + public bool Equals(string x, string y) + { + return GetHashCode(x) == GetHashCode(y); + } + + public int GetHashCode(string obj) + { + return obj == null ? 0 : IcdPath.GetFileName(obj).GetHashCode(); + } + } +} diff --git a/ICD.Common.Utils/ICD.Common.Utils_SimplSharp.csproj b/ICD.Common.Utils/ICD.Common.Utils_SimplSharp.csproj index b199d67..9d0bd60 100644 --- a/ICD.Common.Utils/ICD.Common.Utils_SimplSharp.csproj +++ b/ICD.Common.Utils/ICD.Common.Utils_SimplSharp.csproj @@ -77,6 +77,7 @@ +