Refactor User and UserDto to inherit from UserBase
- Aktualisierte `User` und `UserDto` Klassen um von einer neuen `UserBase` Klasse zu erben. - Verschieben der Eigenschaften `Vorname`, `Email` und `Alter` zu `UserBase`. - Implementierung der überschriebenen Methoden `GetHashCode` und `Equals` sowohl in `User` als auch in `UserDto`, um die Eigenschaften der Basisklasse zu nutzen.
This commit is contained in:
parent
3a604ede88
commit
e3b9d2971b
@ -1,12 +1,12 @@
|
|||||||
namespace DigitalData.Core.Tests.Mock;
|
namespace DigitalData.Core.Tests.Mock;
|
||||||
|
|
||||||
public class User
|
public class User : UserBase
|
||||||
{
|
{
|
||||||
public required int Id { get; init; }
|
public required int Id { get; init; }
|
||||||
|
|
||||||
public required string FirstName { get; init; }
|
public override int GetHashCode() => HashCode.Combine(Id, FirstName, Email, Age);
|
||||||
|
|
||||||
public required string Email { get; init; }
|
public override bool Equals(object? obj)
|
||||||
|
=> (obj is User user && user.GetHashCode() == GetHashCode())
|
||||||
public int Age { get; init; }
|
|| (obj is UserBase userBase && userBase.GetHashCode() == base.GetHashCode());
|
||||||
}
|
}
|
||||||
|
|||||||
14
DigitalData.Core.Tests/Mock/UserBase.cs
Normal file
14
DigitalData.Core.Tests/Mock/UserBase.cs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
namespace DigitalData.Core.Tests.Mock;
|
||||||
|
|
||||||
|
public class UserBase
|
||||||
|
{
|
||||||
|
public required string FirstName { get; init; }
|
||||||
|
|
||||||
|
public required string Email { get; init; }
|
||||||
|
|
||||||
|
public required int Age { get; init; }
|
||||||
|
|
||||||
|
public override int GetHashCode() => HashCode.Combine(FirstName, Email, Age);
|
||||||
|
|
||||||
|
public override bool Equals(object? obj) => obj is UserBase user && user.GetHashCode() == GetHashCode();
|
||||||
|
}
|
||||||
@ -1,10 +1,5 @@
|
|||||||
namespace DigitalData.Core.Tests.Mock;
|
namespace DigitalData.Core.Tests.Mock;
|
||||||
|
|
||||||
public class UserDto
|
public class UserDto : UserBase
|
||||||
{
|
{
|
||||||
public required string FirstName { get; init; }
|
|
||||||
|
|
||||||
public required string Email { get; init; }
|
|
||||||
|
|
||||||
public int Age { get; init; }
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user