2009-05-21 3 views
1

Meine Anwendung speichert Kontaktinformationen. Der Benutzer kann sie über DataGridView usw. bearbeiten. Ich jene Kontaktinfo durch serializable Klasse Speichern, die so aussieht:Was ist das beste Format, um Kontakt/Adresse Art von Informationen ohne Datenbank zu speichern?

[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){...} 
} 

Aber ich bin affraid es ist nicht die effizienteste/ordentlich Format (wenn ich nur die Klasse serialisiert). Hat jemand eine ähnliche Aufgabe und hat es besser gelöst?

+0

Was ist falsch an der Art, wie es serialisiert wird? – BFree

Antwort

1

Es ist nichts falsch mit der Verwendung Serializable; es ist eine gute Möglichkeit, ein Objekt auf und von der Festplatte zu bekommen. Wenn Sie Bedenken haben, das Format für Menschen lesbar zu machen, verwenden Sie stattdessen XmlSerializer.

1

Es gibt eine Reihe von relativ Standardformaten für Adressbucheinträge (vCard kommt in den Sinn); Serialisierung zu einem von ihnen ist wahrscheinlich Ihre beste Wette, wenn Sie tot sind gegen die Verwendung einer Datenbank.

1

Wenn Sie sicher sind, dass Ihre App die einzige ist, die diese serialisierten Klassen verwenden muss, speichert der BinaryFormatter-Serializer diese sehr kompakt. Wenn Sie andere Software-Dienstprogramme haben, die davon profitieren würden, diese Dinge zu lesen/schreiben, würde ich vorschlagen, dass Sie sie als XML ausgeben, entweder mit dem SoapFormatter oder dem XML-Serializer.

3

Ich empfehle VCard aus folgenden Gründen.

1.) Universelles Protokoll für Kontakte. Macht Ihre Daten direkt mit anderen VCard-kompatiblen Apps nutzbar. wie MS Outlook.

2.) Kann auf Mobiltelefone übertragen werden.

3.) Kann für die Synchronisation verwendet werden. [check out SyncML Contacts Sync.]

4.) Sie müssen keinen eigenen VCard-Parser schreiben. Überprüfen Sie dies einfach here Link Txt: http://www.codeproject.com/KB/dotnet/vCardReader.aspx

5.) Serialisierbar.

Verwandte Themen