/// <inheritdoc cref="QueueFromFile{T}"/> /// <summary> /// Создаёт потокобезопасную очередь строк из текстового файла. Десериализация проводится построчно. /// </summary> /// <returns>Возвращает новую потокобезопасную очередь строк</returns> public static LockedQueue QueueFromFile(string filePath, bool includeComments = false, bool trim = true) { var result = new LockedQueue(); ReadAndAppend(result, filePath, includeComments, trim); return(result); }
/// <summary> /// Создаёт потокобезопасную очередь объектов из текстового файла. Десериализация проводится построчно. /// </summary> /// <param name="filePath">Путь до файла</param> /// <param name="ui">Потокобезопасный интерфейс, нужен для ведения лога в случае ошибки десериализации</param> /// <param name="includeComments">Если true, то строки с комментариями тоже будут включены в выборку для десериалиализации.</param> /// <param name="trim">Очищать начало и конец строк от отступов и пробелов.</param> /// <returns>Возвращает новую потокобезопасную очередь объектов</returns> public static LockedQueue <T> QueueFromFile <T>(string filePath, ThreadSafeUI ui = null, bool includeComments = false, bool trim = true) where T : IStringSerializeable, new() { var result = new LockedQueue <T>(); ReadAndDeserialize(result, filePath, ui, includeComments, trim); return(result); }