public override bool Equals(object obj) { if (obj == null) { return(false); } Manifest p = obj as Manifest; if ((System.Object)p == null) { return(false); } if (ID != p.ID) { return(false); } if (Flag != p.Flag) { return(false); } if (URL != p.URL) { return(false); } if (EngineInstance != null || p.EngineInstance != null) { if (EngineInstance == null || p.EngineInstance == null) { return(false); } if (EngineInstance.Equals(p.EngineInstance) == false) { return(false); } } if (ID != p.ID) { return(false); } foreach (KeyValuePair <string, string> kvp in _POSTFieldKVP) { if (p._POSTFieldKVP.ContainsKey(kvp.Key) == false || p._POSTFieldKVP[kvp.Key] != kvp.Value) { return(false); } } return(true); }