J'ai travaillé sur l'utilisation de mvp pour câbler quelques winforms en C#. Le développement de l'interface utilisateur n'est pas exactement ma suite solide et je cherchais un moyen de mise à l'épreuve du refactor pour implémenter INotifyPropertyChanged sans avoir à recourir à des chaînes pour déclencher des notifications de modification. L'exemple msdn http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx et la plupart des autres que j'ai vus me semblent être la mauvaise façon de le faire, en ce qui concerne le fait que les chaînes doivent être changées au cas où vous refactoriez les propriétés. Toutes les autres options que j'ai vues sur stackoverflow en utilisant des expressions et func, des installations malheureusement pas disponibles dans la solution legacy que je supporte donc je me demandais si quelqu'un a un moyen de répliquer les solutions actuelles qui utilisent des arbres d'expression pour obtenir le nom de la propriété.Ciblage INotifyPropertyChanged C# .Net 3.0
Un exemple des solutions que j'ai vues.
public static string GetPropertyName<T, TReturn>(Expression<Func<T, TReturn>> expression)
{
MemberExpression body = (MemberExpression)expression.Body; return body.Member.Name;
}
Vive
Tests unitaires ..... – BFree
... ** refactor proof ** ... * vraiment ... vraiment ??? * – IAbstract
@Bernard Quels exemples avez-vous qui ne sont pas supportés dans .NET? 3,0? Les nouvelles fonctionnalités auxquelles je peux penser dans 3.5, 4.0 et la version à venir sont des extensions parallèles, des paramètres optionnels et nommés, des dynamiques et des asynchrones, cependant, aucun d'entre eux ne semble pertinent au problème. –