MutableUnit() { var ty = MutableParameter.Create("ty"); ty.Values.Add(RawStringParameterValue.OfValue("g")); _params.Add(ty); }
/// <summary> /// <see cref="IParameter"/>のミュータブルな実装を返します。 /// </summary> /// <returns>ミュータブルなオブジェクト</returns> /// <param name="self"></param> /// <exception cref="ArgumentNullException"><paramref name="self"/>が<c>null</c>の場合</exception> public static MutableParameter AsMutable(this IParameter self) { var copy = MutableParameter.Create(self.Name); foreach (var value in self.Values) { if (value.Type == ParameterValueType.Tuple) { var original = value.TupleValue; if (original is Tuple) { copy.Values.Add(value); } else { copy.Values.Add(value.TupleValue.AsMutable()); } } else { copy.Values.Add(value); } } return(copy); }