Я пытаюсь сериализовать класс System.Exception библиотеки классов .Net, однако, как многие участники обсудили здесь, возникает проблема с свойством Data класса потому что он реализует интерфейс IDictionary, что делает его не сериализуемым.Сериализация класса System.Exception, игнорируя сериализацию свойств данных
Я пытаюсь переопределить и пометить это свойство, которое будет игнорироваться во время сериализации, чтобы решить проблему, но без успеха я все равно получаю ту же ошибку.
public class CustomException : Exception
{
[IgnoreDataMemberAttribute]
public override IDictionary Data
{
get
{
return base.Data;
}
}
}
Я также пробовал использовать атрибут IgnoreXML с теми же результатами, я использую класс XMLSerializer.
К сожалению, он дал то же исключение, говоря, что он не может сериализовать IDictionary. – Sisyphus
Я обновил этот пример, добавил элементы в данные и написал их в файл, используя поток файлов. Я думаю, это то, что вы хотите. – Kentonbmax
все еще такая же проблема, фактически маркируя свойство Data как DataMember, сообщите сериализатору о его сериализации, чего мы хотим избежать. – Sisyphus