private bool EqualsHelper(InvokeMemberName other) { var tGenArgs = GenericArgs; var tOtherGenArgs = other.GenericArgs; return(Equals(other.Name, Name) && !(other.IsSpecialName ^ IsSpecialName) && !(tOtherGenArgs == null ^ tGenArgs == null) && (tGenArgs == null || //Exclusive Or makes sure this doesn't happen // ReSharper disable AssignNullToNotNullAttribute tGenArgs.SequenceEqual(tOtherGenArgs))); // ReSharper restore AssignNullToNotNullAttribute }
/// <summary> /// Equalses the specified other. /// </summary> /// <param name="other">The other.</param> /// <returns></returns> public bool Equals(InvokeMemberName other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return EqualsHelper(other); }
private bool EqualsHelper(InvokeMemberName other) { var tGenArgs = GenericArgs; var tOtherGenArgs = other.GenericArgs; return Equals(other.Name, Name) && !(other.IsSpecialName ^ IsSpecialName) && !(tOtherGenArgs == null ^ tGenArgs == null) && (tGenArgs == null || //Exclusive Or makes sure this doesn't happen // ReSharper disable AssignNullToNotNullAttribute tGenArgs.SequenceEqual(tOtherGenArgs)); // ReSharper restore AssignNullToNotNullAttribute }