J'ai besoin de stocker la valeur actuelle d'un objet et sa valeur précédente. J'ai trouvé quelque chose comme ceci :
struct TwoStepHistory<T>
{
private T _v0;
public T Value
{
get
{
return _v0;
}
set
{
OldValue = _v0;
_v0 = value;
}
}
public T OldValue { get; private set; }
}
Mais cela semble tellement évident et simple que j'ai pensé qu'il devait y avoir quelque chose dans BCL ou ailleurs dans dotnet qui faisait la même chose. Je ne veux pas réinventer une bicyclette, vous savez. Quelqu'un connaît-il une structure similaire ?
Il y a eu des commentaires sur la question de savoir si c'est utilisable pour le type de référence, et voici un exemple, tout fonctionne, je ne sais pas pourquoi les gens sont confus. https://dotnetfiddle.net/BSm1Pz v2 avec mutation de l'objet cible : https://dotnetfiddle.net/DGkAgv