/// <summary> /// Constructor. /// </summary> /// <param name="elementType">Not null.</param> /// <exception cref="ArgumentNullException"></exception> public DefaultEqualityComparer(Type elementType) { if (elementType == null) { throw new ArgumentNullException(nameof(elementType)); } ElementTypeName = elementType.AssemblyQualifiedName; DefaultEqualityComparer.getFuncs(elementType, out equalsFunc, out hashCodeFunc); }
private void onDeserialized(StreamingContext _) { Type elementType = Type.GetType(ElementTypeName); if (elementType == null) { throw new TypeLoadException( $"Cannot load serialized {nameof(DefaultEqualityComparer)} type '{ElementTypeName}'"); } DefaultEqualityComparer.getFuncs(elementType, out equalsFunc, out hashCodeFunc); }