Я создал форму информации о клиенте и привязал текстовые поля к свойствам в классе формы.Эта простая форма имеет 10 текстовых полей в форме, которые привязаны к свойствам в форме
- Имя клиента
- PhonePrimary.phoneNumber
- PhonePrimary.phoneType
- PhonePrimary.TextMessageOK
- PhoneDaytime.phoneNumber
- PhoneDaytime.phoneType
- PhoneDaytime.TextMessageOK
- PhoneEvening.phoneNumber
- PhoneEvening.TextMessageOK
После того, как эти значения были заполнены, я хотел бы создать файл XML, чтобы сохранить эти значения, чтобы их можно было получить позднее.
using System;
using System.Windows.Forms;
using System.Xml.Serialization;
using System.IO;
namespace SimpleCustomerInfo
{
public partial class CustomerInfoForm : Form
{
CustomerInfo ci;
public CustomerInfoForm()
{
InitializeComponent();
ci = new CustomerInfo();
}
private void btnSave_Click(object sender, EventArgs e)
{
XmlSerializer serializer = new XmlSerializer(typeof(CustomerInfoForm));
TextWriter textWriter = new StreamWriter(@"C:\testme.xml");
serializer.Serialize(textWriter, ci);
textWriter.Close();
}
public partial class CustomerInfo
{
public string CustomerName { get; set; }
public PhoneInfo PhonePrimary { get; set; }
public PhoneInfo PhoneDays { get; set; }
public PhoneInfo PhoneEvening { get; set; }
}
public class PhoneInfo
{
public string number { get; set; }
public string type { get; set; }
public bool textOk { get; set; }
}
}
}
Когда форма заполнена и нажата кнопка сохранения, и генерируется ошибка.Самая внутренняя ошибка исключения: {"Невозможно сериализовать член System.ComponentModel.Component.Site типа System.ComponentModel.ISite, потому что это интерфейс."} Данные: {System.Collections.ListDictionaryInternal}
IБуду признателен за предложения, которые помогут устранить эту ошибку, или за предложения по другому подходу к сохранению и извлечению введенных данных.