Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 4c9296a

Browse files
committed
Let's compare in insensitive ways
1 parent 4e1632a commit 4c9296a

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/GitHub.Exports/Helpers/AssemblyResolver.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.Threading.Tasks;
1010
using Microsoft.VisualStudio.Shell;
1111
using System.Diagnostics;
12+
using GitHub.Collections;
1213

1314
namespace GitHub.Helpers
1415
{
@@ -51,7 +52,7 @@ static Assembly LoadAssemblyFromRunDir(object sender, ResolveEventArgs e)
5152
{
5253
var requestedName = e.Name.TrimSuffix(".dll", StringComparison.OrdinalIgnoreCase);
5354
var name = new AssemblyName(requestedName).Name;
54-
if (!ourAssemblies.Contains(name))
55+
if (!ourAssemblies.Contains(name, new LambdaComparer<string>((lhs, rhs) => String.Compare(lhs, rhs, StringComparison.OrdinalIgnoreCase))))
5556
return null;
5657
var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
5758
var filename = Path.Combine(path, name + ".dll");

src/GitHub.Extensions/LambdaComparer.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ public class LambdaComparer<T> : IEqualityComparer<T>, IComparer<T>
1010
readonly Func<T, int> lambdaHash;
1111

1212
public LambdaComparer(Func<T, T, int> lambdaComparer) :
13-
this(lambdaComparer, o => 0)
13+
this(lambdaComparer, null)
1414
{
1515
}
1616

17-
LambdaComparer(Func<T, T, int> lambdaComparer, Func<T, int> lambdaHash)
17+
public LambdaComparer(Func<T, T, int> lambdaComparer, Func<T, int> lambdaHash)
1818
{
1919
this.lambdaComparer = lambdaComparer;
2020
this.lambdaHash = lambdaHash;
@@ -32,7 +32,9 @@ public bool Equals([AllowNull] T x, [AllowNull] T y)
3232

3333
public int GetHashCode([AllowNull] T obj)
3434
{
35-
return lambdaHash(obj);
35+
return lambdaHash != null
36+
? lambdaHash(obj)
37+
: obj?.GetHashCode() ?? 0;
3638
}
3739
}
3840
}

0 commit comments

Comments
 (0)