public static void AddValue <TKey, TValue> ( this IDictionary <TKey, IList <TValue> > dictionary, TValue value, Func <TValue, TKey> KeySelector ) => dictionary.AddValue(KeySelector(value), value);
public static void AddValue <TKey, TObject, TValue> ( this IDictionary <TKey, IList <TValue> > dictionary, TObject obj, Func <TObject, TKey> KeySelector, Func <TObject, TValue> ValueSelector ) => dictionary.AddValue(KeySelector(obj), ValueSelector(obj));