Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }