コード例 #1
0
        /// <summary>
        /// Установить значение блока в указанном файле.
        /// </summary>
        /// <param name="settingsFilePath">Источник настройки.</param>
        /// <param name="blockName">Имя блока.</param>
        /// <param name="isBlockEnabled">Доступность блока.</param>
        /// <param name="blockContentWithoutRoot">Содержимое блока в виде строки.</param>
        /// <param name="comments">Комментарии.</param>
        internal void AddOrUpdateBlock(string settingsFilePath, string blockName, bool?isBlockEnabled, string blockContentWithoutRoot, IReadOnlyList <string> comments = null)
        {
            var blockContentWithRoot = !string.IsNullOrEmpty(blockContentWithoutRoot)
        ? $@"<block name=""{blockName}""{BlockEnabledXmlPart(isBlockEnabled)}>{blockContentWithoutRoot}</block>"
        : null;

            var block = this.GetBlock(settingsFilePath, blockName);

            if (block == null)
            {
                block = new BlockSetting(settingsFilePath, blockName, isBlockEnabled, blockContentWithRoot, blockContentWithoutRoot, comments);
                this.blocks.Add(block);
                return;
            }

            block.Update(isBlockEnabled, blockContentWithRoot, blockContentWithoutRoot, comments);
        }
コード例 #2
0
 /// <summary>
 /// Equality.
 /// </summary>
 /// <param name="other">Object.</param>
 /// <returns>True, if Equals.</returns>
 protected bool Equals(BlockSetting other)
 {
     return(Name == other.Name && FilePath == other.FilePath);
 }