using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace Modele { /// /// Classe Artiste implementant INotifyPropertyChanged /// [DataContract] public class Artiste: INotifyPropertyChanged { /// /// String contenant le nom de l'Artiste, avec un getter et un setter public /// private string nom; [DataMember] public string Nom { get { return nom; } set { if(nom == value) return; nom = value; OnPropertyChanged(nameof(Nom)); } } /// /// Construit un Artiste en mettant la valeur value passe en parametre dans Nom d'Artiste /// /// Nom de l'Artiste public Artiste(string value = "Artiste Inconnu") { Nom = value; } public event PropertyChangedEventHandler PropertyChanged; /// /// OnPropertyChanged est un evenement permettant de mettre a jour les données quand elles sont modifiées /// /// Nom de la propriete a modifier protected virtual void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); /// /// Transforme un Artiste en un string (utilise par l'affichage console) /// /// Un string du nom de l'artiste public override string ToString() //Methode ToString { return $"{Nom}"; } } }