title: Why doesn't Dictionary<TKey, TValue> not have a Add method that takes a KeyValuePair object?
body: <p>According to the .NET API, the class <code>Dictionary&lt;TKey, TValue&gt;</code> is inherited from <code>ICollection&lt;T&gt;</code>, where <code>T</code> is <code>KeyValuePair&lt;TKey, TValue&gt;</code>. How does the <code>Dictionary&lt;TKey, TValue&gt;</code> class hide some of the methods it inherits from <code>ICollection&lt;T&gt;</code>?</p>
  
  <p>For example:</p>
  
  <p><code>ICollection&lt;T&gt;</code> has the method <code>ICollection.Add(T item)</code>
  but when you use a <code>Dictionary&lt;TKey, TValue&gt;</code> object it doesn't have that method. You can only use <code>Dictionary&lt;TKey, TValue&gt;.Add(TKey key, TValue value)</code>. There is no <code>Dictionary&lt;TKey, TValue&gt;.Add(KeyValuePair&lt;TKey,TValue&gt; kvp)</code> method.</p>
  
  <p>Anyone know why? How are those methods hidden?</p>