@YoppaLotus

Почему при десериализации [FromBody] данные записываются в свойства, а не поля?

Например, есть контроллер, принимающий stringfy json
public ViewResult Insert([FromBody]InsertGroup json)
        {
             //Some code
        }

И класс, в который происходит десериализация
public class InsertGroup
    {
        public int[] selnames { get; set; }
        public string template { get; set; }
    }

Если вместо автосвойств будут обычные поля, данные попросту не станут записываться. Почему так происходит?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 2
firedragon
@firedragon
Senior .NET developer
Я подозреваю что это связано как то с рефлексией. В любом случае можно посмотреть исходный код и создать свой биндинг.

ПС почему вам не нравятся свойства?
Ответ написан
petermzg
@petermzg
Самый лучший программист
Просто такая реализация механизма биндинга данных, не стали заморачиваться на обычные поля.
Вы можете сами реализовать IModelBinder, который будет работать как вам нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы