NotAComputerScienceStudent Ответов: 1

Как сбросить значения в классе, кроме 1


Поэтому я хочу сбросить все свои значения класса, для которого я использую "новый класс ()", однако я не хочу сбрасывать некоторые из них.

Класс такой
class Settings
    {
        public static bool Exit { get; set; }

        public static int Count { get; set; }
        public static int DealersCount { get; set; }
        public static int Bet { get; set; }
        public static int RemainingChips { get; set; }
        public static string FirstCard { get; set; }
        public static string SecondCard { get; set; }
        public static int CardA { get; set; }
        public static int FirstCount { get; set; }
        public static int SecondCount { get; set; }
        public static int CardNo { get; set; }
        public static string CardData { get; set; }
        public static int Picture { get; set; }
        public static bool AceTrue { get; set; }
        public static bool TenTrue { get; set; }
        public static Action Act { get; set; }
        public static bool Bust { get; set; }

        public static bool Bust1 { get; set; }
        public static bool Bust2 { get; set; }
        public static bool DealerBust { get; set; }
        public static bool PlayerStand { get; set; }
        public static int FinalCount { get; set; }
        public static int Final1Count { get; set; }
        public static int Final2Count { get; set; }
        public static int DFinalCount { get; set; }

        public static int DFinal1Count { get; set; }
        public static int DFinal2Count { get; set; }
        public static int HitCount { get; set; }
        public static bool Hit { get; set; }





        public Settings()
        {
            DFinal1Count = 0;
            DFinal2Count = 0;
            Bust = false;
            Hit = true;
            Final1Count = 0;
            Final2Count = 0;
            Exit = false;
            Count = 0;
            DealersCount = 0;
            Bet = 0;
            FirstCard = "";
            SecondCard = "";
            FirstCount = 0;
            SecondCount = 0;
            CardNo = 0;
            CardData = "";
            Picture = 0;
            AceTrue = false;
            TenTrue = false;
            Act = Action.deal;
            CardA = 0;
            Bust1 = false;
            Bust2 = false;

            DealerBust = false;
            PlayerStand = false;
        }


    }

Я не хочу, чтобы сбросить Final1count и final2count, ставку, остальные ставки прямо сейчас, но сбросить его позже

Что я уже пробовал:

я попробовал погуглить, привести к
c# - как повторно инициализировать или сбросить свойства класса? - переполнение стека[^]

Не ответил на мой вопрос

1 Ответов

Рейтинг:
2

phil.o

Это не имеет никакого смысла для создания нового экземпляра, так как все ваши свойства являются статический Это означает, что они являются общими для всех экземпляров класса.

Чтобы "сбросить" их, вы можете создать статический метод, присваивающий любые значения любому свойству, которое вам нужно сбросить.

С другой стороны, вы можете сделать свои свойства нестатическими (например, свойства экземпляра) и создать конструктор, принимающий экземпляр настроек, который вы будете использовать для инициализации нового экземпляра.

Все это заставляет меня думать, что вы пропустили некоторые важные главы об ООП/C#; вы должны искать базовые учебники и изучать их формально.