/// <summary> /// Метод перевода коллекции в json-строку /// </summary> /// <typeparam name="T">Тип обобощенной коллекции</typeparam> /// <param name="bat">Коллекция</param> /// <returns>json-строка с объектами коллекции</returns> public static string ConvertToString <T>(this TankBattalion <T> bat) where T : Tank { ExtensionLogger.Log("Вызван метод конвертации коллекции в строку"); TankPack <T> wrap = new TankPack <T>(bat); var jset = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All }; var json = JsonConvert.SerializeObject(wrap, jset); return(json); }
/// <summary> /// Поиск всех таков с заданым уровнем силы оружия /// </summary> /// <typeparam name="T">Тип коллекции</typeparam> /// <param name="bat">Коллекция</param> /// <param name="strength">Сила</param> /// <returns>Список танков</returns> public static List <T> FindTanksWithGunStrength <T>(this TankBattalion <T> bat, int strength) where T : Tank { ExtensionLogger.Log("Вызван метод расширения найти танк с максимальной силой оружия"); return(bat.Where(t => t.gun.strength == strength).ToList()); }