Подскажите, как исправить ошибку, всё никак не получается.
System.Runtime.Serialization.SerializationException: 'The data contract type 'System.Windows.Forms.ListView' is not serializable with DataContractJsonSerializer because the data member 'Padding' is duplicated in its type hierarchy.'
public void Serialize<T>(T list, string path)
{
var jsonFormatter = new DataContractJsonSerializer(typeof(T));
using (var file = new FileStream(path, FileMode.Create))
{
jsonFormatter.WriteObject(file, list);
}
}
Возможно кто-то подскажет, может у вас уже есть метод сериализации и десериализации, чтобы можно было передавать обьекты любого типа?
Ошибка тебе говорит что 'System.Windows.Forms.ListView' сериализовать невозможно.
Сериализуй не сам компонент формы, а его datasource, в котором хранятся данные для ListView.
Например, храни данные для ListView в каком-то List<> (присвоив его в SomeListView.DataSource) и уже этот лист пытайся сериализовать.
UPD: если нету в ListViewDataSource то используй аналогичный компонент, например DataGrid. Там точно есть DataSource.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей