// Needed for NET35 (ConditionalWeakTable) #if !NET_4_6 using System.Collections.Generic; using LinqInternal.Threading.Needles; namespace LinqInternal.Collections.Specialized { [System.Diagnostics.DebuggerNonUserCode] internal sealed class NeedleConversionEqualityComparer : ConversionEqualityComparer, IEqualityComparer where TNeedle : INeedle { public NeedleConversionEqualityComparer(IEqualityComparer comparer) : base(comparer, Conversion) { // Empty } private static T Conversion(TNeedle needle) { if (ReferenceEquals(needle, null)) { return default(T); } return needle.Value; } } } #endif