Вот моя конечная цель: я хочу иметь способ вывода имен инструментов на основе любого целого числа, зарегистрированного в программе. Например, если целые числа, 1001, 1002 и 1003, найденные программой, программа сообщит пользователю, что были найдены Инструменты 1, Инструмент 2 и Инструмент 3.Должен ли я использовать класс Enum или Lookup in C#
Я получил это для работы, используя простой класс перечисления, где все «инструменты» нумеруются и соответствуют правильному целому числу. Я могу даже выводить перечисление как имя, хотя я хотел бы выводить строку, предпочтительно такую, которую можно легко редактировать без необходимости слишком сильно изменять всю программу. Как и было бы здорово, если бы я мог запрограммировать все это как Инструмент 1, Инструмент 3 и Инструмент 7 сейчас, а затем вернуться и просто изменить строки, когда я действительно знаю инструменты, которые я использую.
Я также уже пытался использовать DescriptionAttribute с этим перечислением, но даже с помощью нескольких вопросов я не смог понять, что Enum. Я мог бы сделать либо или, но не оба, просто.
Так что это заставило меня задаться вопросом, был ли лучший способ, которым я мог бы справиться со всем этим, кроме использования класса Enum, который, как я слышал, не так полезен в C#. Я просто хочу знать любые предложения о том, как я могу это сделать с помощью класса enum или других методов в C#, которые я могу использовать для достижения этого.
Просто дайте мне знать, если мне нужно разделить мой рабочий код, который у меня уже есть. Благодаря!
Есть ли что-то, что говорит против словаря 'и соответствующего' Tool.ToString() '? –
Vlad
До тех пор, пока вы не возражаете перекомпилировать всякий раз, когда меняются описания, 'DescriptionAttribute' должно быть достаточно (какой код не работал для вас?). Но, откровенно говоря, для вас было бы гораздо меньше хлопот, если бы вы использовали «Словарь», и если только целые числа, о которых вы говорите, имеют одинаковое «постоянное» качество, например, GUID имеет, перечисление не имеет большого смысла. –
Jon
@ Vlad не то, что я знаю.Я забыл упомянуть, что считаю себя новым для C#, поэтому я готов слушать то, что кто-то думает о моей работе, и, по крайней мере, попробовать. Сначала я пошел с Enum, потому что выглядел многообещающим. – VarnerBeast14