Fan.Sys.Map.Equals C# (CSharp) Method

Equals() public method

public Equals ( object that ) : bool
that object
return bool
        public override bool Equals(object that)
        {
            if (that is Map)
              {
            if (!m_type.Equals(@typeof(that)))
              return false;

            IDictionary thatMap = ((Map)that).m_map;
            if (m_map.Count != thatMap.Count)
              return false;

            IDictionaryEnumerator en = m_map.GetEnumerator();
            while (en.MoveNext())
            {
              object key  = en.Key;
              object val  = en.Value;
              object test = thatMap[key];

              if (val == null)
              {
            if (test != null) return false;
              }
              else if (!val.Equals(test))
              {
            return false;
              }
            }

            return true;
              }
              return false;
        }