// OrtizOL - xCSw - http://o...content-available-to-author-only...t.com using System; using System.ComponentModel; using System.Runtime.CompilerServices; public class UsoINotifyPropertyChanged : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged = delegate{}; public void InvocarAlCambioPropiedad([CallerMemberName] string nombrePropiedad = null) { PropertyChanged(this, new PropertyChangedEventArgs(nombrePropiedad)); Console.WriteLine(nombrePropiedad); } string nombreCliente; public String NombreCliente { get { return nombreCliente; } set { if (value == nombreCliente) return; nombreCliente = value; InvocarAlCambioPropiedad(); // El compilador convierte esta // llamada en InvocarAlCambioPropiedad("NombreCliente"); } } int idClient; public int IDCliente { get { return idClient; } set { if (value == idClient) return; idClient = value; InvocarAlCambioPropiedad(); // El compilador convierte esta // llamada en InvocarAlCambioPropiedad("IDCliente"); } } } public class Prueba { public static void Main() { Console.WriteLine(Environment.NewLine); UsoINotifyPropertyChanged var = new UsoINotifyPropertyChanged(); var.NombreCliente = "Julio"; var.IDCliente = 951753852; Console.WriteLine(Environment.NewLine); } }