Вход на сайт
Лапшекодим валидацию, или запрещаем вводить неправильные данные?
2865 просмотров
Перейти к просмотру всей ветки
в ответ alex445 07.06.22 18:23, Последний раз изменено 07.06.22 18:36 (alex445)
Вот зачем вам, например, свойства объекта выписывать, если можно навешать атрибутов TypeProperty над объявлением класса и всё?
Или другой пример - перечисления. Можно навешать кучку атрибутов над каждым элементом перечисления - язык это позволяет сделать. А можно написать класс, где будет храниться свойство с перечислением и данные, которые раньше были в атрибутах, только теперь в виде свойств. Вам какой подход больше нравится:
enum Rarity { [Display(...)] [Properties(Prop1 = ..., Prop2 = ..., ...)] Common, [Display(...)] [Properties(Prop1 = ..., Prop2 = ..., ...)] Uncommon, ... } class Rarity { Rarity Rarity { get; set; } // здесь это другое перечисление - без атрибутов string Name { get; set; } string DisplayName { get; set; } ... Prop1 { get; set; } ... Prop2 { get; set; } ... }