Size: a a a

2021 November 12

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
Это плохо, так делать?
источник

SB

Sergey Benzenko in CODE BLOG / C#
Ну, как-то мне сложно себе представить константную сущность, которая существует в пределах одного класса. Пример, конечно, помог бы, но, как по мне, тут что-то не так
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
Есть класс телеграмм бота, который инициализирует клиент и имеет метод, который обрабатывает сообщения пользователей, ему написавших.
Во вложенном классе константы команд для этого бота.
источник

SB

Sergey Benzenko in CODE BLOG / C#
Ок, понял. Не вижу ничего плохого в том, чтоб сделать класс с константами публичным или internal внешним классом. Даже если его один класс бота использует.
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
Для чего? Я точно знаю, что более он ни в одном классе проекта не потребуется.
источник

SB

Sergey Benzenko in CODE BLOG / C#
Вложенный класс - это не ошибка, просто загромоздит класс бота, затруднит его чтение
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
В этом классе лишь то, что касается непосредственно самого бота, там не так много кода, несколько полей, конструктор и метод, для того, чтобы считывать апдейты и обрабатывать сообщения.
Остальная логика в других классах.
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
Но, я Вас услышал и понял.
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
Спасибо😊
источник

SB

Sergey Benzenko in CODE BLOG / C#
Погодите, а сколько раз константы в этом простом классе будут использоваться? Только в свиче? Тогда есть ли вообще смысл в константах?
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
Да, только в нем.
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
Усложняю?
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
Просто так понятнее, что этот текст не просто из воздуха и он относится к командам бота
источник

SB

Sergey Benzenko in CODE BLOG / C#
Если выполняются команды одной сигнатуры, можно сделать словарь
Dictionary<string, Action<...>>
источник

SB

Sergey Benzenko in CODE BLOG / C#
Ок. Вопрос предпочтений.
Ещё вариант - enum. Команды в одном месте. Члены enum - имена команд. Только надо скастить из строки (названия команды) в enum.
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
Я сначала так и хотел сделать, а потом с чего-то решил, что вложенный приватный статический класс с константами моему глазу будет приятнее😁
источник

Е

Ефрейтор Флибыч⚠️... in CODE BLOG / C#
А до такого я пока ещё не дорос. Но, попробую завтра, возможно получится реализовать так.
источник

R2

RARiK 24 in CODE BLOG / C#
а как enum же не хранит строки
источник

t

this. in CODE BLOG / C#
Enum.Parse<TEnumType>(enumValue);
источник

t

this. in CODE BLOG / C#
enumValue - строка
источник