public object AddOrUpdate(WeakDictionary <int, object> d, int k, object addValue, Func <int, object, object> updateValueFactory) { return (d.AddOrUpdate( k, addValue, (kp1, v) => updateValueFactory(kp1, v) ) ); }
public object AddOrUpdate(WeakDictionary <object, int, object> d, Tuple <object, int> k, object addValue, Func <Tuple <object, int>, object, object> updateValueFactory) { return (d.AddOrUpdate( k.Item1, k.Item2, addValue, (kp1, kp2, v) => updateValueFactory(Tuple.Create(kp1, kp2), v) ) ); }
public object AddOrUpdate(WeakDictionary <object, object, object, int, object> d, Tuple <object, object, object, int> k, Func <Tuple <object, object, object, int>, object> addValueFactory, Func <Tuple <object, object, object, int>, object, object> updateValueFactory) { return (d.AddOrUpdate( k.Item1, k.Item2, k.Item3, k.Item4, (kp1, kp2, kp3, kp4) => addValueFactory(Tuple.Create(kp1, kp2, kp3, kp4)), (kp1, kp2, kp3, kp4, v) => updateValueFactory(Tuple.Create(kp1, kp2, kp3, kp4), v) ) ); }