public void Add(MessageQuery key, TItem value) { if (key == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("key"); } Type queryType = key.GetType(); MessageQueryCollection collection; if (!this.collectionsByType.TryGetValue(queryType, out collection)) { collection = key.CreateMessageQueryCollection(); if (collection == null) { collection = new SequentialMessageQueryCollection(); } this.collectionsByType.Add(queryType, collection); } collection.Add(key); this.dictionary.Add(key, value); }
public void Add(MessageQuery key, TItem value) { MessageQueryCollection querys; if (key == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("key"); } System.Type type = key.GetType(); if (!this.collectionsByType.TryGetValue(type, out querys)) { querys = key.CreateMessageQueryCollection(); if (querys == null) { querys = new SequentialMessageQueryCollection <TItem>(); } this.collectionsByType.Add(type, querys); } querys.Add(key); this.dictionary.Add(key, value); }