MutableUnit() { var ty = MutableParameter.Create("ty"); ty.Values.Add(RawStringParameterValue.OfValue("g")); _params.Add(ty); }
/// <summary> /// コレクションの末尾に新しい要素を追加します。 /// </summary> /// <param name="self"></param> /// <param name="item">新しい要素</param> /// <exception cref="ArgumentNullException">新しい要素として<c>null</c>が指定された場合</exception> /// <exception cref="NotSupportedException">コレクションが読み取り専用の場合</exception> public static void Add(this NonNullCollection <IParameterValue> self, ITuple item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } self.Add(TupleParameterValue.OfValue(item)); }
/// <summary> /// コレクションの末尾に新しい要素を追加します。 /// </summary> /// <param name="self"></param> /// <param name="item">新しい要素</param> /// <param name="quoted">引用符付き文字列として追加する場合は<c>true</c></param> /// <exception cref="ArgumentNullException">新しい要素として<c>null</c>が指定された場合</exception> /// <exception cref="NotSupportedException">コレクションが読み取り専用の場合</exception> public static void Add(this NonNullCollection <IParameterValue> self, string item, bool quoted) { if (item == null) { throw new ArgumentNullException(nameof(item)); } self.Add(quoted ? QuotedStringParameterValue.OfValue(item) : RawStringParameterValue.OfValue(item)); }
/// <summary> /// 指定されたユニット定義パラメータで同名の既存のパラメータを置き換え、影響を被った既存の要素数を返します。 /// </summary> /// <returns>置き換えされた既存の要素の数</returns> /// <param name="self"></param> /// <param name="newParams">新しいパラメータ</param> /// <exception cref="NotSupportedException">コレクションがイミュータブルな場合</exception> public static int ReplaceAll(this NonNullCollection <IParameter> self, IEnumerable <IParameter> newParams) { var paramNames = newParams.Select(p => p.Name).Distinct().ToArray(); Func <IParameter, bool> predicate = p => paramNames.Contains(p.Name); var removed = self.RemoveAll(predicate); foreach (var newParam in newParams) { self.Add(newParam); } return(removed); }