Я новичок в C # и .Net Framework и пытаюсь понять, как что-то сделать.Я полагаюсь на Inheritance для чего-то подобного?
Когда переменная allDim
равна true, я хочу, чтобы все экземпляры класса возвращали 0 для своих dimPercent.
public class Program
{
//if this is true, all rooms should return 0
public bool allDim = false;
public class Room
{
//0 is lights out. 100 is as bright as possible
public Room(int dimPercent)
{
DimPercent = dimPercent;
}
private int dimPercent;
public int DimPercent
{
get
{
if (Program.allDim)
{
//if allDim is true, all lights should be dimmed to 0 percent
return 0;
}
else
{
return dimPercent;
}
}
set
{
dimPercent = value;
}
}
}
public static void Main()
{
Room livingRoom = new Room(80);
Room kitchen = new Room(85);
Room bedroom = new Room(65);
allDim = true;
// This should return 0 since allDim was set to true
Console.WriteLine(kitchen.DimPercent);
}
}
Создание базыкласс, который содержит allDim
и позволяет получать класс Room из этого нового базового класса, мне не подходит, поскольку технически allDim
не является свойством каждого экземпляра класса.Извиняюсь, если я зарезал некоторые термины.