Ниже приведен простой пример перечисления, который определяет состояние объекта и класс, который показывает реализацию этого перечисления.
public enum StatusEnum
{
Clean = 0,
Dirty = 1,
New = 2,
Deleted = 3,
Purged = 4
}
public class Example_Class
{
private StatusEnum _Status = StatusEnum.New;
private long _ID;
private string _Name;
public StatusEnum Status
{
get { return _Status; }
set { _Status = value; }
}
public long ID
{
get { return _ID; }
set { _ID = value; }
}
public string Name
{
get { return _Name; }
set { _Name = value; }
}
}
при заполнении объекта класса данными из базы данных мы устанавливаем значение enum для "очистки". с целью сохранения большей части логики из уровня представления, как мы можем установить значение enum на "грязное" при изменении свойства.
Я думал что-то вроде:
public string Name
{
get { return _Name; }
set
{
if (value != _Name)
{
_Name = value;
_Status = StatusEnum.Dirty;
}
}
}
в установщике каждого свойства класса.
это звучит как хорошая идея, есть ли у кого-нибудь лучшие идеи о том, как можно назначить грязный флаг без этого на уровне презентации.