Вот код, который не работает:
Код: Выделить всё
using System;
using System.Xml.Linq;
public class Program
{
public static void Main()
{
var x= @"{""NS"": {""NamespaceName"": ""http://www.some.ns/Enterprise""}}";
var z = System.Text.Json.JsonSerializer.Deserialize(x); // --> ERROR
}
}
public class Some(XNamespace ns){
public XNamespace NS {get; set;} = ns;
}
Я получаю следующую ошибку:
Десериализация типов без конструктора без параметров, единственного параметризованного конструктора или параметризованного конструктора, аннотированного с помощью JsonConstructorAttribute, не поддерживается. Введите «System.Xml.Linq.XNamespace».
Если я использую свой собственный класс или тип значения в качестве параметра, все работает нормально, но по какой-то причине ему не нравится XNamespace.
Подробнее здесь: https://stackoverflow.com/questions/790 ... a-property
Мобильная версия