
Envoyé par
tatayo
Quid d'une classe qui hérite de 2 Interfaces qui implémentent la même méthode ? On se retrouve avec le même "problème".
ca ne change pas grand chose je pense, enfin quand tu implémentes 2 interfaces avec une méthode de même nom et même signature il fallait déjà spécifier
ca reviendra au même je pense, enfin ce n'est pas précisé oui, car j'ai cru comprendre que ce n'était pas un override mais bien une récupération implicite, donc il faudrait pouvoir en réorienter une alors qu'aucune des 2 n'apparaitra ...

Envoyé par
tatayo
Concernant le "range", le point qui me chagrine est que le comptage part de 0 au début de la chaine, et de 1 à la fin.
Dans cet exemple, l'indice 1 est le second caractère, et l'indice ^1 le dernier. Pourquoi ce n'est pas ^0 ?
il faut plus le voir comme un count - n donc count - 1 ramène bien à la fin

Envoyé par
Noxen
Ça c'est justement un cas où ça me paraîtrait inapproprié. D'un point de vue fonctionnel un IViewModel ne devrait pas permettre à son consommateur de lever lui-même l'événement, après tout seul le ViewModel peut dire si une de ses propriétés à réellement changé sa valeur (puisqu'il pourrait par exemple bloquer l'affectation d'une valeur invalide). Ce genre de méthode n'a ça place que dans la structure interne d'une classe et ne devrait pas être dans une interface. Si on veut factoriser ce code on le ferait dans une classe de base (éventuellement abstract) qui serait héritée par d'autres classes
l'appel à RaisePropertyChanged restera dans la classe sur chaque propriété, donc c'est bien la classe qui saura s'il faut lever l'event (au passage avec [CallerMemberName] ca évite de préciser le nom de la propriété)
après passer par une classe type ObservableObject pour en hériter ca n'est pas toujours possible, en wpf par exemple on a souvent envie d'hériter de dependencyobject, donc avoir une interface avec du code ca amène quand même un peu de souplesse
après libre à chacun d'utiliser ou non
moi c'est l'object nullable que je vois pas trop les cas d'utilisations
0 |
0 |