2 using System.Collections;
\r
4 namespace System.Xml.Serialization
\r
7 /// TypeMember is immutable class which is used as a key in a Hashtable.
\r
10 internal sealed class TypeMember
\r
14 internal TypeMember(Type type, string member)
\r
17 this.member = member;
\r
20 public override int GetHashCode()
\r
22 return unchecked (type.GetHashCode() + member.GetHashCode());
\r
25 public override bool Equals(object obj)
\r
27 if(obj is TypeMember)
\r
28 return TypeMember.Equals(this,(TypeMember)obj);
\r
33 public static bool Equals(TypeMember tm1, TypeMember tm2)
\r
35 if(Object.ReferenceEquals(tm1,tm2))
\r
37 if(Object.ReferenceEquals(tm1,null) || Object.ReferenceEquals(tm2,null))
\r
39 if(tm1.type == tm2.type && tm1.member == tm2.member)
\r
44 public static bool operator==(TypeMember tm1, TypeMember tm2)
\r
46 return TypeMember.Equals(tm1,tm2);
\r
49 public static bool operator!=(TypeMember tm1, TypeMember tm2)
\r
51 return !TypeMember.Equals(tm1,tm2);
\r