///<summary> ///Determines whether the specified <see cref="T:System.Object"></see> is equal to the current <see cref="T:System.Object"></see>. ///</summary> /// ///<returns> ///true if the specified <see cref="T:System.Object"></see> is equal to the current <see cref="T:System.Object"></see>; otherwise, false. ///</returns> /// ///<param name="obj">The <see cref="T:System.Object"></see> to compare with the current <see cref="T:System.Object"></see>. </param><filterpriority>2</filterpriority> public override bool Equals(object obj) { // Needed for proper list updates ClassMemberPath prop = obj as ClassMemberPath; bool bRet = prop != null; if (bRet) { if (prop.isRecursive != isRecursive) { bRet = false; } else { if (prop.members == members) { bRet = true; } else if (prop.members != null && members != null && prop.members.Count == members.Count) { // Check every element of collections for (int i = members.Count - 1; i >= 0; i--) { if (!members[i].Equals(prop.members[i])) { bRet = false; break; } } } else { bRet = false; } } } return(bRet); }
/// <summary> /// Selects the packet and its property in comboboxes. /// </summary> /// <param name="packetClass">The packet class.</param> /// <param name="packetClassMember">The packet class member.</param> private void SelectPacketAndProperty(PacketClass packetClass, ClassMemberPath packetClassMember) { if (null != packetClass) { packetClassComboBox.SelectedItem = packetClass; } if (null != packetClassMember) { packetClassPropertyComboBox.SelectedItem = packetClassMember; } }