Platform.Xml.Serialization.SerializationMemberInfo.Equals C# (CSharp) Method

Equals() public method

public Equals ( object obj ) : bool
obj object
return bool
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return false;
            }

            var localSerializationMemberInfo = obj as SerializationMemberInfo;

            if (localSerializationMemberInfo == null)
            {
                return false;
            }

            return this.memberInfo == localSerializationMemberInfo.memberInfo;
        }

Usage Example

Example #1
0
        protected virtual void AddMember(MemberInfo memberInfo, TypeSerializerCache cache, SerializerOptions options)
        {
            SerializationMemberInfo localSerializationMemberInfo;

            if (this.MemberBound && this.serializationMemberInfo.IncludeIfUnattributed)
            {
                bool ok;
                var  fieldInfo    = memberInfo as FieldInfo;
                var  propertyInfo = memberInfo as PropertyInfo;

                if (fieldInfo != null && fieldInfo.IsPublic)
                {
                    ok = true;
                }
                else if (propertyInfo != null &&
                         propertyInfo.CanRead && propertyInfo.CanWrite &&
                         propertyInfo.GetSetMethod().IsPublic &&
                         propertyInfo.GetGetMethod().IsPublic)
                {
                    ok = true;
                }
                else
                {
                    ok = false;
                }

                if (ok)
                {
                    localSerializationMemberInfo = new SerializationMemberInfo(memberInfo, options, cache, true);

                    elementMembersMap[localSerializationMemberInfo.SerializedName] = localSerializationMemberInfo;

                    return;
                }
            }

            localSerializationMemberInfo = new SerializationMemberInfo(memberInfo, options, cache);

            if (localSerializationMemberInfo.SerializedNodeType == XmlNodeType.Element)
            {
                if (localSerializationMemberInfo.Namespace.Length > 0)
                {
                    elementMembersMap[localSerializationMemberInfo.Namespace + (char)0xff + localSerializationMemberInfo.SerializedName] = localSerializationMemberInfo;
                }
                else
                {
                    elementMembersMap[localSerializationMemberInfo.SerializedName] = localSerializationMemberInfo;
                }

                return;
            }
            else if (localSerializationMemberInfo.SerializedNodeType == XmlNodeType.Attribute)
            {
                if (localSerializationMemberInfo.Namespace.Length > 0)
                {
                    attributeMembersMap[localSerializationMemberInfo.Namespace + (char)0xff + localSerializationMemberInfo.SerializedName] = localSerializationMemberInfo;
                }
                else
                {
                    attributeMembersMap[localSerializationMemberInfo.SerializedName] = localSerializationMemberInfo;
                }
            }
            else if (localSerializationMemberInfo.SerializedNodeType == XmlNodeType.Text)
            {
                if (TextMember != null && !TextMember.Equals(localSerializationMemberInfo))
                {
                    throw new Exception(string.Format("There should only be one XmlTextAttribute in type {0}", ((Type)this.serializationMemberInfo.MemberInfo).FullName));
                }
                TextMember = localSerializationMemberInfo;
            }
        }