title: Generic class inherit from Dictionary with Collection
body: <p>I have this custom Dictionary with Collection definition:</p>
  
  <pre><code>class CollectionDictionary&lt;K, C, V&gt; : Dictionary&lt;K, C&gt; where C : ICollection&lt;V&gt;, new()
  </code></pre>
  
  <p>and using it like this (e.g):</p>
  
  <pre><code>CollectionDictionary&lt;Guid, HashSet&lt;int&gt;, int&gt; sample;
  </code></pre>
  
  <p>but for me this double <code>int</code> seems awkward, is there a possibility to bypass this and only write:</p>
  
  <pre><code>CollectionDictionary&lt;Guid, HashSet&lt;int&gt;&gt; sample;
  </code></pre>
  
  <p>so that the compiler knows that <code>V</code> could only be an int?</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>I need the class to abstract this method</p>
  
  <pre><code>public void Add(K key, V value)
  {
      if (!this.ContainsKey(key))
      {
          base.Add(key, new C());
      }
      this[key].Add(value);
  }
  </code></pre>