PIbd-22. Stroev V.M. Lab Work 08 #10

Closed
StroevVladimir wants to merge 4 commits from Lab08 into Lab07
Showing only changes of commit 3e9dddb1cd - Show all commits

View File

@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Monorail.DrawningObjects;
using Monorail.Entities;
using System.Diagnostics.CodeAnalysis;
namespace Monorail.Generics
{
internal class DrawningMonorailEqutables : IEqualityComparer<DrawningMonorail?>
{
public bool Equals(DrawningMonorail? x, DrawningMonorail? y)
{
if(x==null || x.EntityMonorail == null)
{
throw new ArgumentNullException(nameof(x));
}
if (y == null || y.EntityMonorail == null)
{
throw new ArgumentNullException(nameof(y));
}
if (x.GetType().Name != y.GetType().Name)
{
return false;
}
if (x.EntityMonorail.Speed != y.EntityMonorail.Speed)
{
return false;
}
if (x.EntityMonorail.Weight != y.EntityMonorail.Weight)
{
return false;
}
if (x.EntityMonorail.BodyColor != y.EntityMonorail.BodyColor)
{
return false;
}
if (x is DrawningSecondMonorail && y is DrawningSecondMonorail)
{
// TODO
}
return true;
}
public int GetHashCode([DisallowNull] DrawningMonorail obj)
{
return obj.GetHashCode();
}
}
}