/// <inheritdoc cref="ListFromFile{T}"/> /// <summary> /// Создаёт потокобезопасный список строк из текстового файла. Десериализация проводится построчно. /// </summary> /// <returns>Возвращает новый потокобезопасный список строк</returns> public static LockedList ListFromFile(string filePath, bool includeComments = false, bool trim = true) { var result = new LockedList(); 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 LockedList <T> ListFromFile <T>(string filePath, ThreadSafeUI ui = null, bool includeComments = false, bool trim = true) where T : IStringSerializeable, new() { var result = new LockedList <T>(); ReadAndDeserialize(result, filePath, ui, includeComments, trim); return(result); }