Ejemplo n.º 1
0
        /// <summary>
        /// Получить содержимое блока (без корневого элемента).
        /// </summary>
        /// <param name="blockName">Имя блока.</param>
        /// <typeparam name="T">Тип блока.</typeparam>
        /// <returns>Типизированный блок.</returns>
        public T GetBlockContent <T>(string blockName) where T : class
        {
            var content = this.GetBlockContentWithoutRoot(blockName);

            if (string.IsNullOrEmpty(content))
            {
                return(null);
            }

            return(BlockParser.Deserialize <T>(content));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Установить значение блока в указанном файле.
        /// </summary>
        /// <param name="settingsFilePath">Источник настройки.</param>
        /// <param name="blockName">Имя блока.</param>
        /// <param name="isBlockEnabled">Доступность блока.</param>
        /// <param name="block">Типизированный блок.</param>
        /// <param name="comments">Комментарии.</param>
        /// <typeparam name="T">Тип блока.</typeparam>
        internal void AddOrUpdateBlock <T>(string settingsFilePath, string blockName, bool?isBlockEnabled, T block, IReadOnlyList <string> comments = null) where T : class
        {
            var blockContent = BlockParser.Serialize(block);

            this.AddOrUpdateBlock(settingsFilePath, blockName, isBlockEnabled, blockContent);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Установить значение блока.
        /// </summary>
        /// <param name="variableName">Имя блока.</param>
        /// <param name="isBlockEnabled">Доступность блока.</param>
        /// <param name="block">Типизированный блок.</param>
        /// <typeparam name="T">Тип блока.</typeparam>
        public void SetBlockValue <T>(string variableName, bool?isBlockEnabled, T block) where T : class
        {
            var blockContent = BlockParser.Serialize(block);

            this.SetBlockValue(variableName, isBlockEnabled, blockContent);
        }