/// <summary> /// 指定されたセクションに新しい文字列値を作成し追加します。 /// </summary> /// <param name="section">新しい文字列値の保存先のセクションです。</param> /// <param name="name">新しい文字列値の名前です。</param> /// <param name="value">文字列値です。</param> /// <returns> /// 新しい文字列値を表すオブジェクトです。 /// <paramref name="name"/>が既に存在するノードと一致した場合、 /// またはサポートされない場合は<see langword="null"/>を返します。 /// </returns> /// <exception cref="System.ArgumentNullException"/> /// <exception cref="CAP.Yencon.Exceptions.InvalidNodeNameException"/> public static YString?CreateString(this YSection section, string name, string value) { section.EnsureNotNull(nameof(section)); var result = section.CreateString(name); if (result is not null) { result.Value = value; } return(result); }
/// <summary> /// 指定されたセクションへ指定された名前の文字列値を設定します。 /// </summary> /// <remarks> /// 同名の値が既に存在する場合は削除されます。 /// </remarks> /// <param name="section">設定先のセクションです。</param> /// <param name="name">設定する文字列値の名前です。</param> /// <param name="value">文字列値です。</param> /// <returns>設定に成功した場合は文字列値を表すオブジェクト、失敗した場合は<see langword="null"/>を返します。</returns> /// <exception cref="System.ArgumentNullException"/> /// <exception cref="CAP.Yencon.Exceptions.InvalidNodeNameException"/> public static YString?SetString(this YSection section, string name, string value) { section.EnsureNotNull(nameof(section)); section.RemoveNode(name); return(section.CreateString(name, value)); }