Un enfoque que hay que hacer que la propiedad virtual y en tiempo de ejecución crear una subclase través de la reflexión-emiten que modifique las propiedades, añadiendo su código. Sin embargo, esto es avanzado, y requiere que siempre se asegure de crear la subclase (para que no haya "nuevo" en el código).
Sin embargo; Me pregunto si simplemente implementar INotifyPropertyChanged y manejar el evento es más simple. La otra opción es simplemente construir el manejo en la clase regular en primer lugar. Hay algunas maneras de hacer esto menos repetitivo, especialmente si usted tiene una clase base común donde se puede añadir un
protected void SetField<T>(ref T field, T value)
{
if(!EqualityComparer<T>.Default.Equals(field,value))
{
field = value;
// extra code here
}
}
Con
private int foo;
public int Foo {
get { return foo; }
set { SetField(ref foo, value); }
}
Esto está muy cerca de lo que tengo ahora, gracias. Esto realmente hace el trabajo pero significa que tengo que interceptar manualmente todas las llamadas. – IanNorton