// Обеспечивает изменение состояния объекта // Т - класс, в котором необходимо изменить состояние protected void ChangeState <T>(T t, Parameter.LevelOfDanger level) where T : PlantObject { /* Если условие выполняется, вызывается блок set свойства объекта t, в котором переменной * state этого объекта присваивается значение level, а затем происходит вызов метода * ChangeState для изменения состояния объекта, находящегося выше в иерархии классов */ if (t != null && t.State < level) { t.State = level; } }
public PlantObject() { state = Parameter.LevelOfDanger.Normal; }