/// <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)); }
/// <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); }
/// <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); }