Как сохранить контакты в формате .VCF - PullRequest
4 голосов
/ 16 сентября 2011

У меня есть класс для хранения данных и список этого класса. Вот мой код.

static void Main(string[] args)
    {
        List<GoogleContacts> contacts = new List<GoogleContacts>();
        contacts.Add(new GoogleContacts { title = "A", email = "B", im = "X" });
        contacts.Add(new GoogleContacts { title = "C", email = "D", im = "Y" });
        contacts.Add(new GoogleContacts { title = "E", email = "F", im = "Z" });
    }
}


public class GoogleContacts
{
    public string title { get; set; }
    public string email { get; set; }
    public string im { get; set; }
}

Я хочу сохранить эти данные в файле .VCF на локальном диске.

1 Ответ

4 голосов
/ 16 сентября 2011

Просто создайте экземпляр StringBuilder и запишите в него содержимое .VCF.

var contact = new GoogleContacts() { ... };

var vcf = new StringBuilder();
vcf.Append("TITLE:" + contact.Title + System.Environment.NewLine); 
//...

После этого вы можете сохранить его в файл, используя статический WriteAllText (...) метод Тип файла.

var filename = @"C:\mycontact.vcf";
File.WriteAllText(filename, vcf.ToString());

Просто откройте файл .vcf в текстовом редакторе, чтобы изучить его содержимое.Поскольку вам требуется только несколько свойств, это будет легко выяснить.

Небольшой пример:

BEGIN:VCARD
FN:Mr. John Smith
TITLE:Developer
ORG:Microsoft
BDAY:1979-12-10
VERSION:2.1
END:VCARD

Если вы хотите включить изображение, вы должны кодировать его с помощью base 64.

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