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