public override bool Equals(object obj)
{
if (!(obj is Profile)) {
return false;
}
var profile = obj as Profile;
if (profile == null) {
return false;
}
if (m_defWorkMode != profile.m_defWorkMode) {
return false;
}
if (m_isStartAuto != profile.m_isStartAuto) {
return false;
}
if (m_isStartMinimized != profile.m_isStartMinimized) {
return false;
}
if (m_isLogToFile != profile.m_isLogToFile) {
return false;
}
if (m_logLevel != profile.m_logLevel) {
return false;
}
if (m_szProfilePath != profile.m_szProfilePath) {
return false;
}
if (m_listProxyGroups.Count != profile.m_listProxyGroups.Count) {
return false;
}
for (int i = 0; i < m_listProxyGroups.Count; ++i) {
if (!m_listProxyGroups[i].Equals(profile.m_listProxyGroups[i])) {
return false;
}
}
return true;
}