Documentation Jeton

master
Pauline PRADY 11 months ago
parent 8d293abd2b
commit 4d76d5fecc

@ -2,17 +2,32 @@
namespace CoreLibrary.Core
{
/// <summary>
/// Structure représentant un jeton de couleur.
/// </summary>
[DataContract]
public readonly struct Jeton
{
/// <summary>
/// Obtient la couleur du jeton.
/// </summary>
[DataMember]
public Couleur Couleur { get; private init; }
/// <summary>
/// Constructeur d'un jeton avec une couleur spécifiée.
/// </summary>
/// <param name="couleur">La couleur du jeton.</param>
public Jeton(Couleur couleur)
{
Couleur = couleur;
}
/// <summary>
/// Détermine si l'objet spécifié est égal à l'objet actuel.
/// </summary>
/// <param name="objet">L'objet à comparer avec l'objet actuel.</param>
/// <returns>Renvoie true si l'objet spécifié est égal à l'objet actuel. Sinon, false.</returns>
public override readonly bool Equals(object? objet)
{
if (objet == null || objet is not Jeton)
@ -21,10 +36,26 @@ namespace CoreLibrary.Core
return Couleur == ((Jeton)objet).Couleur;
}
/// <summary>
/// Détermine si deux jetons sont égaux.
/// </summary>
/// <param name="gauche">Le premier jeton à comparer.</param>
/// <param name="droite">Le deuxième jeton à comparer.</param>
/// <returns>Renvoie true si les deux jetons sont égaux. Sinon, false.</returns>
public static bool operator ==(Jeton gauche, Jeton droite) => gauche.Equals(droite);
/// <summary>
/// Détermine si deux jetons ne sont pas égaux.
/// </summary>
/// <param name="gauche">Le premier jeton à comparer.</param>
/// <param name="droite">Le deuxième jeton à comparer.</param>
/// <returns>Renvoie true si les deux jetons ne sont pas égaux. Sinon, false.</returns>
public static bool operator !=(Jeton gauche, Jeton droite) => gauche.Equals(droite);
/// <summary>
/// Fonction de hachage.
/// </summary>
/// <returns>Renvoie un code de hachage pour une couleur.</returns>
public override readonly int GetHashCode() => Couleur.GetHashCode();
}
}

Loading…
Cancel
Save