This page contains an error. The KeyedCollection.SetItem(Int32,U) method and the inherited Collection.SetItem method are not overloads of the same method. In fact, the KeyedCollection.SetItem(Int32,U) method overrides the Collection.SetItem method. The two methods have the same signature because the base class of KeyedCollection<TKey, TItem> (KeyedCollection<TKey, TItem> in Visual Basic, generic<TKey, TItem> ref class KeyedCollection in C++) is Collection<TItem>, where the generic type parameter TItem of KeyedCollection is substituted for the generic type parameter T of the Collection generic class. The documentation build tools do not resolve these signatures correctly.