Страница 1 из 1

Одновременное изменение значений свойств одного типа

СообщениеДобавлено: 01 ноя 2022, 20:13
tiqai
Всем привет! Такой вопрос:

Я пытаюсь учиться писать код грамотно, с учётом максимальной его производительности. Имеются несколько подобных свойств, с одной и той же логикой присваивания:
Синтаксис:
Используется csharp
    private static float energy = 80f;
    public static float Energy
    {
        get { return energy; }

        set
        {
            energy = value;
            CheckStatValue(ref energy);
        }
    }


Так вот, задумка в том, чтобы безостановочно снижать их значения. Можно ли как-то, образно говоря, одной строчкой изменить значения нескольких свойств одного типа?
Или всё же придётся для каждого свойства писать что-то подобное?:
Синтаксис:
Используется csharp
        Energy -= Time.deltaTime * defaultMultiplier;
        Hunger -= Time.deltaTime * defaultMultiplier;
        Cleanness -= Time.deltaTime * defaultMultiplier;
 


Моими ещё неокрепшими глазами такое решение выглядит как-то неправильно. Передача свойства, как аргумент в метод, не даёт результатов из-за отсутствия возможности использовать ref. Использование поля вместо свойства тоже не подходит из-за необходимости осуществления логики при присваивании значения. Есть ли какие-либо подсказки с данной темой? Ибо ничего подобного я не нашёл на форумах.

Re: Одновременное изменение значений свойств одного типа

СообщениеДобавлено: 01 ноя 2022, 20:30
1max1
То что ты пытаешься сделать попахивает извращением :D Сделай метод, добавь в него эти 3 строчки и вызывай, в чем проблема? Появится еще свойство, то просто допишешь его в метод.

Re: Одновременное изменение значений свойств одного типа

СообщениеДобавлено: 01 ноя 2022, 20:42
tiqai
1max1 писал(а):То что ты пытаешься сделать попахивает извращением :D Сделай метод, добавь в него эти 3 строчки и вызывай, в чем проблема? Появится еще свойство, то просто допишешь его в метод.


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