Я хочу, чтобы JSON сериализовал настраиваемый объект исключения, который наследует System.Exception. JsonConvert.SerializeObject, похоже, игнорирует свойства производного типа. Проблема может быть проиллюстрирована очень просто:
class MyException : Exception {
public string MyProperty { get; set; }
}
class Program {
static void Main(string[] args) {
Console.WriteLine(JsonConvert.SerializeObject(new MyException {MyProperty = "foobar"}, Formatting.Indented));
//MyProperty is absent from the output. Why?
Console.ReadLine();
}
}
Я попытался добавить атрибуты DataContract и DataMember в нужные места. Они не помогают. Как я могу заставить это работать?