¿Cómo podría refactorizar el método¿Cómo evitar métodos anónimos en la suscripción de eventos "dinámicos"?
private void ListenToPropertyChangedEvent(INotifyPropertyChanged source,
string propertyName)
{
source.PropertyChanged += (o, e) =>
{
if (e.PropertyName == propertyName)
MyMagicMethod();
};
}
si deseaba evitar el uso del método anónimo aquí?
El truco aquí no es el método anónimo: es * el cierre * que se usa. La única otra manera que viene a la mente es crear un nuevo objeto que implemente una propiedad/propiedad 'PropertyName' o similar, así como un manejador de eventos' OnPropertyChanged' y el cableado up y ... ick. –
@pst: Gracias por el comentario. Supongo que todavía estoy un poco confuso acerca de los aspectos internos aquí. Leyendo http://csharpindepth.com/Articles/Chapter5/Closures.aspx ahora. =) – Jens