Je viens de découvrir un comportement très étrange. J'ai une classe avec une propriété de chaîne. Dans le poseur de cette propriété je compare l'ancienne valeur avec la nouvelle valeur première et la seule propriété changer si les valeurs sont différentes:Object.ReferenceEquals renvoie des résultats incorrects (dans Silverlight 3 au moins)
set
{
if ((object.ReferenceEquals(this.Identifier, value) != true))
{
this.Identifier = value;
this.RaisePropertyChanged("Identifier");
}
}
Mais cette ReferenceEquals revient presque toujours faux! Même si j'appelle object.ReferenceEquals ("test", "test") dans Quick Watch Je me trompe.
Comment est-ce possible?