/// <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 YLink?CreateLink(this YSection section, string name, string value) { section.EnsureNotNull(nameof(section)); var result = section.CreateLink(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 YLink?SetLink(this YSection section, string name, string value) { section.EnsureNotNull(nameof(section)); section.RemoveNode(name); return(section.CreateLink(name, value)); }