Каков наилучший формат для хранения информации о контакте / адресе без базы данных? - PullRequest
1 голос
/ 21 мая 2009

Мое приложение хранит контактную информацию. Пользователь может редактировать их через DataGridView и так далее. Я сохраняю эти контактные данные через сериализуемый класс, который выглядит так:

    [Serializable]
public class Contact : INotifyPropertyChanged
{
    private string _fName;
    private string _lName;
    private string _pNumber;

    public event PropertyChangedEventHandler PropertyChanged;

    public Contact(string firstName, string lastName, string phoneNumber, bool fromOutlook){...}

    public Contact(){...}

    public string FirstName{...}
    public string LastName{...}
    public string PhoneNumber{...}

    private void NotifyPropertyChanged(string name){...}
}

Но, боюсь, это не самый эффективный / аккуратный формат (если я просто сериализую класс). У кого-нибудь была подобная задача и она решалась лучше?

Ответы [ 4 ]

3 голосов
/ 21 мая 2009

Я настоятельно рекомендую VCard по следующим причинам.

1.) Универсальный протокол для контактов. Делает ваши данные сразу же расходуемыми с другими приложениями, совместимыми с VCard. как MS Outlook.

2.) Можно передавать на мобильные телефоны.

3.) Может использоваться для синхронизации. [проверить синхронизацию контактов SyncML.]

4.) Вам не нужно писать собственный анализатор VCard. Просто проверьте это здесь Ссылка Txt: http://www.codeproject.com/KB/dotnet/vCardReader.aspx

5.) Сериализуемый.

1 голос
/ 21 мая 2009

Если вы уверены, что ваше приложение является единственным, которое должно использовать эти сериализованные классы, сериализатор BinaryFormatter будет хранить их довольно компактно. Если у вас могут быть другие программные утилиты, которые могли бы извлечь пользу из чтения / записи этих вещей, я бы предложил вам вывести их в виде XML, либо с помощью SoapFormatter, либо с помощью XML Serializer.

1 голос
/ 21 мая 2009

Нет ничего плохого в использовании Serializable; Это отличный способ получить объект с диска. Если вы беспокоитесь о том, чтобы сделать этот формат читабельным, используйте XmlSerialize r .

1 голос
/ 21 мая 2009

существует ряд относительно стандартных форматов для записей в адресной книге (на ум приходит vCard); Сериализация с одним из них, вероятно, будет лучшим выбором, если вы настроены против использования базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...