AtlasReferencePair.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. namespace AtlasUtility
  2. {
  3. public class AtlasReferencePair
  4. {
  5. #region Variable
  6. public string Content;
  7. public AtlasReference AtlasReference;
  8. public AtlasReference SourceAtlasReference;
  9. #endregion
  10. public AtlasReferencePair(string content)
  11. {
  12. Content = content;
  13. AtlasReference = new AtlasReference(content.Split('|')[0]);
  14. SourceAtlasReference = new AtlasReference(content.Split('|')[1]);
  15. }
  16. public AtlasReferencePair(AtlasReference atlasReference, AtlasReference sourceAtlasReference)
  17. {
  18. Content = $"{atlasReference.Content}|{sourceAtlasReference.Content}";
  19. AtlasReference = atlasReference;
  20. SourceAtlasReference = sourceAtlasReference;
  21. }
  22. public override int GetHashCode()
  23. {
  24. return Content.GetHashCode();
  25. }
  26. public override bool Equals(object obj)
  27. {
  28. if (obj == null)
  29. {
  30. return false;
  31. }
  32. AtlasReferencePair atlasReferencePair = obj as AtlasReferencePair;
  33. if (atlasReferencePair == null)
  34. {
  35. return false;
  36. }
  37. return AtlasReference == atlasReferencePair.AtlasReference && SourceAtlasReference == atlasReferencePair.SourceAtlasReference;
  38. }
  39. public static bool operator !=(AtlasReferencePair atlasReferencePair1, AtlasReferencePair atlasReferencePair2)
  40. {
  41. return !atlasReferencePair1.Equals(atlasReferencePair2);
  42. }
  43. public static bool operator ==(AtlasReferencePair atlasReferencePair1, AtlasReferencePair atlasReferencePair2)
  44. {
  45. return atlasReferencePair1.Equals(atlasReferencePair2);
  46. }
  47. }
  48. }