# C1.Schedule.C1ObservableKeyedCollection-2

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Schedule_C1ObservableKeyedCollection_2" data-uid="C1.Schedule.C1ObservableKeyedCollection`2" class="text-break">C1ObservableKeyedCollection&lt;TKey, TItem&gt; Class
</h1>
  <div class="markdown level0 summary"><p>The <a class="xref" href="C1.Schedule.C1ObservableCollection-1.html">C1ObservableCollection&lt;T&gt;</a> is the base class for all
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.objectmodel.keyedcollection-2">KeyedCollection&lt;TKey, TItem&gt;</a> derived collections. Supports notification.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.objectmodel.collection-1">Collection</a>&lt;TItem&gt;</div>
    <div class="level2"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.objectmodel.keyedcollection-2">KeyedCollection</a>&lt;TKey, TItem&gt;</div>
    <div class="level3"><span class="xref">C1ObservableKeyedCollection&lt;TKey, TItem&gt;</span></div>
      <div class="level4"><a class="xref" href="C1.Schedule.BaseCollection-1.html">BaseCollection&lt;T&gt;</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList</a>&lt;TItem&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.icollection-1">ICollection</a>&lt;TItem&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ilist">IList</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.icollection">ICollection</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist-1">IReadOnlyList</a>&lt;TItem&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlycollection-1">IReadOnlyCollection</a>&lt;TItem&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a>&lt;TItem&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ienumerable">IEnumerable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.specialized.inotifycollectionchanged">INotifyCollectionChanged</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Schedule.html">C1.Schedule</a></h6>
  <h6><strong>Assembly</strong>: C1.ScheduleCore.dll</h6>
  <h5 id="C1_Schedule_C1ObservableKeyedCollection_2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class C1ObservableKeyedCollection&lt;TKey, TItem&gt; : KeyedCollection&lt;TKey, TItem&gt;, IList&lt;TItem&gt;, ICollection&lt;TItem&gt;, IList, ICollection, IReadOnlyList&lt;TItem&gt;, IReadOnlyCollection&lt;TItem&gt;, IEnumerable&lt;TItem&gt;, IEnumerable, INotifyCollectionChanged</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public MustInherit Class C1ObservableKeyedCollection(Of TKey, TItem)
    Inherits KeyedCollection(Of TKey, TItem)
    Implements IList(Of TItem), ICollection(Of TItem), IList, ICollection, IReadOnlyList(Of TItem), IReadOnlyCollection(Of TItem), IEnumerable(Of TItem), IEnumerable, INotifyCollectionChanged</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TKey</span></td>
        <td><p>The type of keys in the collection.</p>
</td>
      </tr>
      <tr>
        <td><span class="parametername">TItem</span></td>
        <td><p>The type of objects to keep in the collection.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Schedule_C1ObservableKeyedCollection_2__ctor" data-uid="C1.Schedule.C1ObservableKeyedCollection`2.#ctor">
          <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.-ctor.html#C1_Schedule_C1ObservableKeyedCollection_2__ctor">C1ObservableKeyedCollection()</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.html">C1ObservableKeyedCollection&lt;TKey, TItem&gt;</a> class.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Schedule_C1ObservableKeyedCollection_2__ctor_System_Collections_Generic_IEqualityComparer__0__" data-uid="C1.Schedule.C1ObservableKeyedCollection`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
          <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.-ctor.html#C1_Schedule_C1ObservableKeyedCollection_2__ctor_System_Collections_Generic_IEqualityComparer__0__">C1ObservableKeyedCollection(IEqualityComparer&lt;TKey&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.html">C1ObservableKeyedCollection&lt;TKey, TItem&gt;</a> class.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Schedule_C1ObservableKeyedCollection_2__ctor_System_Collections_Generic_IEqualityComparer__0__System_Int32_" data-uid="C1.Schedule.C1ObservableKeyedCollection`2.#ctor(System.Collections.Generic.IEqualityComparer{`0},System.Int32)">
          <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.-ctor.html#C1_Schedule_C1ObservableKeyedCollection_2__ctor_System_Collections_Generic_IEqualityComparer__0__System_Int32_">C1ObservableKeyedCollection(IEqualityComparer&lt;TKey&gt;, int)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Schedule_C1ObservableKeyedCollection_2_ClearItems" data-uid="C1.Schedule.C1ObservableKeyedCollection`2.ClearItems">
          <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.ClearItems.html#C1_Schedule_C1ObservableKeyedCollection_2_ClearItems">ClearItems()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_Schedule_C1ObservableKeyedCollection_2_InsertItem_System_Int32__1_" data-uid="C1.Schedule.C1ObservableKeyedCollection`2.InsertItem(System.Int32,`1)">
          <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.InsertItem.html#C1_Schedule_C1ObservableKeyedCollection_2_InsertItem_System_Int32__1_">InsertItem(int, TItem)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_Schedule_C1ObservableKeyedCollection_2_OnCollectionChanged_System_Collections_Specialized_NotifyCollectionChangedEventArgs_" data-uid="C1.Schedule.C1ObservableKeyedCollection`2.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
          <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.OnCollectionChanged.html#C1_Schedule_C1ObservableKeyedCollection_2_OnCollectionChanged_System_Collections_Specialized_NotifyCollectionChangedEventArgs_">OnCollectionChanged(NotifyCollectionChangedEventArgs)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_Schedule_C1ObservableKeyedCollection_2_RemoveItem_System_Int32_" data-uid="C1.Schedule.C1ObservableKeyedCollection`2.RemoveItem(System.Int32)">
          <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.RemoveItem.html#C1_Schedule_C1ObservableKeyedCollection_2_RemoveItem_System_Int32_">RemoveItem(int)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_Schedule_C1ObservableKeyedCollection_2_SetItem_System_Int32__1_" data-uid="C1.Schedule.C1ObservableKeyedCollection`2.SetItem(System.Int32,`1)">
          <a class="xref" href="C1.Schedule.C1ObservableKeyedCollection-2.SetItem.html#C1_Schedule_C1ObservableKeyedCollection_2_SetItem_System_Int32__1_">SetItem(int, TItem)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>

</div>
