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 Video, implementant l'interface INotifyPropertyChanged /// [DataContract] public class Video : INotifyPropertyChanged { /// /// String contenant le lien de la Video avec un getter et un setter public /// [DataMember] public string Lien { get { return lien; } set { if (lien == value) return; lien = value; OnPropertyChanged(nameof(Lien)); } } private string lien; /// /// Construit une Video avec la valeur value passe en parametre /// /// Lien de la Video, la valeur par defaut est "Lien Inconnu" public Video(string value="Lien Inconnu") { Lien=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 Video en string (utilise par l'affichage console) /// /// Un string contenant les informations a afficher pour une Video public override string ToString() { return $"{Lien}"; } } }