protected override DictionaryEntryLoadedEventArgs <TKey, TValue> CreateEventArgs(MemberInfo member, Lazy <TKey> key, Lazy <TValue> value, Lazy <TValue> oldValue, Lazy <TValue> mergeValue, HDictionaryEventTypes eventType, int numberOfAffectedEntries) => new DictionaryEntryLoadedEventArgs <TKey, TValue>(member, key, value, oldValue);
protected abstract TArgs CreateEventArgs(MemberInfo member, Lazy <TKey> key, Lazy <TValue> value, Lazy <TValue> oldValue, Lazy <TValue> mergeValue, HDictionaryEventTypes eventType, int numberOfAffectedEntries);
protected DictionaryEventHandlerBase(HDictionaryEventTypes eventType, Func <TSender, TArgs, ValueTask> handler) { EventType = eventType; _handler = handler; }
public ValueTask HandleAsync(TSender sender, MemberInfo member, Lazy <TKey> key, Lazy <TValue> value, Lazy <TValue> oldValue, Lazy <TValue> mergeValue, HDictionaryEventTypes eventType, int numberOfAffectedEntries) => _handler(sender, CreateEventArgs(member, key, value, oldValue, mergeValue, eventType, numberOfAffectedEntries));