我在业余时间正在做一个小项目,但对处理当前/以前的“值”的方式不满意(在我的情况下,值是一个类)
简短地描述我的主题是关于一个网格,其中包含一个单元格列表。当我悬停或单击一个单元格时,会相应地绘制该单元格。但是,当然,当我不再需要悬停一个单元格或选择另一个单元格时,我需要绘制新的单元格并绘制原来的单元格。
到目前为止,我来到这里:
public class PreviousCurrent<T> where T : class
{
T current;
public T Previous { get; set; }
public T Current
{
get => current;
set
{
if(value == current)
return;
if (Previous != null)
{
Previous = current;
current = value;
}
else
current = value;
}
}
internal PreviousCurrent(T previous, T current)
{
Previous = previous;
Current = current;
}
public static PreviousCurrent<T> Empty => new PreviousCurrent<T>(null, null);
}
它可行,但是我想知道是否有更简单/更优雅的方式来处理这种情况?
任何建设性的帮助/批评都欢迎!
感谢您的建议!