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 Image implementant INotifyPropertyChanged /// [DataContract] public class Image : INotifyPropertyChanged { /// /// string contenant le chemin vers l'image, avec un getter et un setter public /// private string chemin; [DataMember] public string Chemin { get { return chemin; } set { if (chemin == value) return; chemin = value; OnPropertyChanged(nameof(Chemin)); } } /// /// Construit une Image en mettant la valeur value passe en parametre dans Chemin de Image /// /// Chemin de l'Image public Image(string value = "Image Inconnu") { Chemin = 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 mettre a jour protected virtual void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); /// /// Transforme une Image en un string (utilise par l'affichage Console) /// /// Un string du chemin de l'Image public override string ToString() //Methode ToString { return $"{Chemin}"; } } }