Не изменяется свойство - C#
Формулировка задачи:
Добрый вечер!
Задача - написать упрощенный эмулятор бытовых приборов.
Есть два класса: родитель Device.cs и его наследник Lamp.cs
При создании объекта myLamp мы задаем только его имя. Изначальное состояние - лампа выключена, а следовательно яркость 0, и менять мы ее не можем. Когда мы включаем лампу, яркость - 10. Единственные действия с ней: включение, выключение, Добавить яркость, Убавить яркость.
Проверку на корректное изменение яркости я реализовал свойстве Bright через сеттер.
Но, проблема в том, что когда я создаю объект, все его изначальные свойства корректные (имя, статус, яркость), но вот когда я хочу включить лампу, изменяется только статус (с true на false), а вот яркость остается неизменной.
Прилагаю коды классов:
//Класс Device.cs
//Класс Lamp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication12
{
class Device
{
//Поля
private bool devStatus;
private string devName;
private int lampBright;
//Конструкторы
public Device() { }
public Device(string name)
{
Name = name;
Status = false;
}
//Методы
public virtual void On()
{
devStatus = true;
}
public virtual void Off()
{
devStatus = false;
}
public override string ToString()
{
return devName;
}
//Свойства
public string Name { get; set; }
public bool Status
{
get { return devStatus; }
set
{
if (value)
devStatus = true;
else
devStatus = false;
}
}
public int Bright
{
get { return lampBright; }
set
{
if (devStatus)
{
if (value > 10)
lampBright = 10;
else
if (value < 0)
lampBright = 0;
else
lampBright = value;
}
else
lampBright = 0;
}
}
}
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication12
{
class Lamp : Device, ILight
{
//Поля
//Конструктор
public Lamp(string name)
: base(name)
{
Bright = 0;
}
//Методы
public void LightUp()
{
Bright += 1;
}
public void LightDown()
{
Bright -= 1;
}
public override string ToString()
{
return "Имя: " + Name + Environment.NewLine + "Статус: " + Status + Environment.NewLine + "Яркость: " + Bright;
}
//Свойства
}
}Решение задачи: «Не изменяется свойство»
textual
Листинг программы
public void LightUpd()
{
Bright = Bright;
}