Как сериализовать список друзей ? - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Ковыряю VkNet. В данный момент мне нужно: сохранить список друзей на диск, а при следующем открытии приложения загрузить свежий список друзей и сравнить с тем что записано на диске! Но у меня что то не совсем получается сделать данную махинацию "красиво". а c костылями делать не хочется )
Листинг программы
  1. namespace VkApi
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. Func<string> code = () =>
  8. {
  9. Console.Write("Please enter code: ");
  10. string value = Console.ReadLine();
  11. return value;
  12. };
  13. string login = "*********";
  14. string pass = "**********";
  15. Settings scope = Settings.All;
  16.  
  17. var vk = new VkNet.VkApi();
  18. vk.Authorize(new ApiAuthParams
  19. {
  20. ApplicationId = ********,
  21. Login = login,
  22. Password = pass,
  23. Settings = scope
  24. // TwoFactorAuthorization = code
  25. });
  26. var records = vk.Audio.Get(vk.UserId.Value);
  27. Console.WriteLine("Records count: " + records.Count);
  28. var friends = vk.Friends.Get(vk.UserId.Value, ProfileFields.FirstName | ProfileFields.LastName);
  29. // foreach (var friend in friends)
  30. // {
  31. // Console.WriteLine(friend.LastName+" "+friend.FirstName);
  32. //
  33. // }
  34. XmlSerializer ser = new XmlSerializer(typeof(FriendList));
  35. string path = Path.GetRandomFileName();
  36. FileStream file = new FileStream(path,FileMode.Create,FileAccess.Write,FileShare.None);
  37. ser.Serialize(file,friends);
  38. Console.WriteLine("type friends = " + friends.ToString());
  39. // Console.WriteLine("count friends = "+friends.Count);
  40. }
  41. }
  42. }
в данный момент ругается на

Не по теме:

Unhandled Exception: System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidCastException: Unable to cast object of type 'System.Collections.ObjectModel.ReadOnlyCollection`1[VkNet.Model.User]' to type 'VkNet.Model.FriendLi st'. at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterFriendList.Write3_FriendList(Object o) --- End of inner exception stack trace --- at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id) at System.Xml.Serialization.XmlSerializer.Serialize(Stream stream, Object o, XmlSerializerNamespaces namespaces) at VkApi.Program.Main(String[] args) in D:\project\NetCore\VkApi\Program.cs:line 55

Решение задачи: «Как сериализовать список друзей ?»

textual
Листинг программы
  1.    public class VkUser
  2.     {
  3.         public string FirstName { get; set; }
  4.         public string LastName { get; set; }
  5.         public long ID { get; set; }
  6.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы