класс с характеристиками персонажа, они хранятся в виде полей. В класса мечника (Swordsman) я храню объект этого класса. При вызове конкретного поля для получения значения все выводится (это поле Damage со скрина). Но при получении длины массива всех полей выводит ноль (приложил код получения). С чем может быть связано?
1. покажите класс. 2. зачем рефлексия тут?
поля приватные?
GetFields возвращает коллекцию полей, что выведет ToString для коллекции?
Класс именно кого? Мечника или характеристик? Рефлексию использую для того, что бы вывести все поля из класса характеристик. Можно и вручную пройтись, но их там много, поэтому искал решение в интернете, наткнулся на рефлексию, что можно получить поля из класса
Характеристик. Зачем поля все выводить?
и у тебя Damage это свойство а не поле
откуда ты знаешь?)
пользуется здравым смыслом и принятыми соглашениями нейминга
ну делаю предположение что он адекватно именует
Таково задание лабораторки, что при нажатии на персонажа должны показаться все его характеристики
делайте без рефлексии
не зря)
да, конечно, не нужно рефлексию без надобности тащить
В целом да, если не хочется в ручную- напишите кодген
в чём проблема написать один раз?
А почему не стоит использовать рефлексию без надобности и когда та самая надобность может появиться в ней?
самое то писать кодген человеку с такими вопросами
То же самое скажу про рефлексию
почитайте доку, например
в том что он добавит потом новое свойство и все)
и явно подумает, нужно ли его выводить
рефлексия намного проще, что страшного в массиве свойств?
как будто рефлексией нельзя ничего сломать блин
Рефлексия это очень дорого для приложения, бесконечно дорого, если что то можно сделать без рефлексии, это что-то должно быть сделано без нее
что сломать?) это лабораторка, а не высоконагруженный прод
речь не про нагрузку
Метод GetType() входит в рефлексию? Насколько нормально хранить в массиве классы унаследованные от BaseModel(к примеру), а потом в методе который я произвожу поиск по типу объекта используя GetType()?
Обсуждают сегодня