Formulario Build your own MVVM he el siguiente código que nos permite tener typesafe llamadas NotifyOfPropertyChange:typesafe NotifyPropertyChanged usando expresiones LINQ
public void NotifyOfPropertyChange<TProperty>(Expression<Func<TProperty>> property)
{
var lambda = (LambdaExpression)property;
MemberExpression memberExpression;
if (lambda.Body is UnaryExpression)
{
var unaryExpression = (UnaryExpression)lambda.Body;
memberExpression = (MemberExpression)unaryExpression.Operand;
}
else memberExpression = (MemberExpression)lambda.Body;
NotifyOfPropertyChange(memberExpression.Member.Name);
}
¿Cómo se compara este enfoque a cadenas simples estándar acercarse performancewise? A veces tengo propiedades que cambian a una frecuencia muy alta. ¿Estoy seguro de usar este tipo de enfoque seguro? Después de algunas primeras pruebas parece hacer una pequeña diferencia. ¿Cuánta CPU puede inducir potencialmente una carga de memoria?
Puede que le interese esta discusión: [** Mejores prácticas: ¿Cómo implementar INotifyPropertyChanged right? **] (http://compositeextensions.codeplex.com/Thread /View.aspx?ThreadId=53731) – jbe