/// <summary> /// Equalses the specified other. /// </summary> /// <param name="other">The other.</param> /// <returns></returns> public bool Equals(TypeHash other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } if (this.InformalInterface != null || other.InformalInterface != null) { if (this.InformalInterface == null || other.InformalInterface == null) { return(false); } if (this.Types.Length != other.Types.Length) { return(false); } var tTypes = this.Types.SequenceEqual(other.Types); if (!tTypes) { return(false); } return(this.InformalInterface.SequenceEqual(other.InformalInterface)); } return(this.Types.SequenceEqual(other.Types)); }
/// <summary> /// Equalses the specified other. /// </summary> /// <param name="other">The other.</param> /// <returns></returns> public bool Equals(TypeHash other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; if (InformalInterface != null || other.InformalInterface !=null) { if (InformalInterface == null || other.InformalInterface == null) return false; if (Types.Length != other.Types.Length) return false; var tTypes = Types.SequenceEqual(other.Types); if (!tTypes ) return false; return InformalInterface.SequenceEqual(other.InformalInterface); } return Types.SequenceEqual(other.Types); }