@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; }
    }

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

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

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

Войти через центр авторизации
Похожие вопросы
Deltasoft Казань
от 60 000 до 100 000 ₽
Почта Банк Москва
от 200 000 до 240 000 ₽
Plumsail Санкт-Петербург
от 120 000 ₽
16 июл. 2020, в 19:59
3000 руб./за проект
16 июл. 2020, в 18:52
150 руб./за проект
16 июл. 2020, в 18:37
3000 руб./за проект