Невозможно десериализовать класс, используя XNamespace в качестве свойства.C#

Место общения программистов C#
Ответить
Anonymous
 Невозможно десериализовать класс, используя XNamespace в качестве свойства.

Сообщение Anonymous »

Почему я не могу десериализовать класс, если использую XNamespace в качестве свойства?
Вот код, который не работает:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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