Files
YandexMusic/YandexMusic.API/Models/Track/YTrackAlbumPair.cs

45 lines
1.3 KiB
C#

namespace YandexMusic.API.Models.Track;
public class YTrackAlbumPair : IEquatable<YTrackAlbumPair>
{
public string AlbumId { get; set; }
public string Id { get; set; }
public override string ToString()
{
return string.Join(":", new[] { Id, AlbumId }.Where(s => !string.IsNullOrEmpty(s)));
}
public static bool operator ==(YTrackAlbumPair left, YTrackAlbumPair right)
{
return Equals(left, right);
}
public static bool operator !=(YTrackAlbumPair left, YTrackAlbumPair right)
{
return !Equals(left, right);
}
public bool Equals(YTrackAlbumPair other)
{
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
return string.Equals(Id, other.Id) && string.Equals(AlbumId, other.AlbumId);
}
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
if (obj.GetType() != GetType()) return false;
return Equals((YTrackAlbumPair)obj);
}
public override int GetHashCode()
{
unchecked
{
return ((Id != null ? Id.GetHashCode() : 0) * 397) ^ (AlbumId != null ? AlbumId.GetHashCode() : 0);
}
}
}