Свойства Null JObject не работают с нулевым условным оператором.C#

Место общения программистов C#
Anonymous
Свойства Null JObject не работают с нулевым условным оператором.

Сообщение Anonymous »

Как у меня работает следующий фрагмент:
dynamic root = new JObject();
root["A"] = new JObject();
/* the following doesn't work
JValue.CreateNull() / JValue.CreateUndefined()
*/
root.A["B"] = null;
var test = root.A?.B?.C; // JValue can't figure out N/C path and crushes

И почему это вообще не работает.
Решение, которое я нашел, довольно неудобно:
var s = JsonConvert.SerializeObject(root);
dynamic ss = JsonConvert.DeserializeObject(s);
var test = ss.A?.B?.C; // Works


Подробнее здесь: https://stackoverflow.com/questions/790 ... l-operator

Вернуться в «C#»