namespace AtlasUtility { public class AtlasReferencePair { #region Variable public string Content; public AtlasReference AtlasReference; public AtlasReference SourceAtlasReference; #endregion public AtlasReferencePair(string content) { Content = content; AtlasReference = new AtlasReference(content.Split('|')[0]); SourceAtlasReference = new AtlasReference(content.Split('|')[1]); } public AtlasReferencePair(AtlasReference atlasReference, AtlasReference sourceAtlasReference) { Content = $"{atlasReference.Content}|{sourceAtlasReference.Content}"; AtlasReference = atlasReference; SourceAtlasReference = sourceAtlasReference; } public override int GetHashCode() { return Content.GetHashCode(); } public override bool Equals(object obj) { if (obj == null) { return false; } AtlasReferencePair atlasReferencePair = obj as AtlasReferencePair; if (atlasReferencePair == null) { return false; } return AtlasReference == atlasReferencePair.AtlasReference && SourceAtlasReference == atlasReferencePair.SourceAtlasReference; } public static bool operator !=(AtlasReferencePair atlasReferencePair1, AtlasReferencePair atlasReferencePair2) { return !atlasReferencePair1.Equals(atlasReferencePair2); } public static bool operator ==(AtlasReferencePair atlasReferencePair1, AtlasReferencePair atlasReferencePair2) { return atlasReferencePair1.Equals(atlasReferencePair2); } } }