mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-08 06:47:56 +00:00
Migrate to type-safe model ID structs
This commit is contained in:
parent
e5ac5edc35
commit
b9cbd241de
21 changed files with 167 additions and 41 deletions
24
PluralKit.Core/Models/MemberId.cs
Normal file
24
PluralKit.Core/Models/MemberId.cs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
namespace PluralKit.Core
|
||||
{
|
||||
public readonly struct MemberId: INumericId<MemberId, int>
|
||||
{
|
||||
public int Value { get; }
|
||||
|
||||
public MemberId(int value)
|
||||
{
|
||||
Value = value;
|
||||
}
|
||||
|
||||
public bool Equals(MemberId other) => Value == other.Value;
|
||||
|
||||
public override bool Equals(object obj) => obj is MemberId other && Equals(other);
|
||||
|
||||
public override int GetHashCode() => Value;
|
||||
|
||||
public static bool operator ==(MemberId left, MemberId right) => left.Equals(right);
|
||||
|
||||
public static bool operator !=(MemberId left, MemberId right) => !left.Equals(right);
|
||||
|
||||
public int CompareTo(MemberId other) => Value.CompareTo(other.Value);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue