title: Overriding ToString() and adding to ListBox C#
body: <p>Can anyone explain this:</p>
  
  <pre><code>public class Test : List&lt;int&gt;
  {
      public override string ToString()
      {
          return "My ToString";
      }
  }
  </code></pre>
  
  <p>If I instantiate this and add it to a <code>ListBox</code> control on a Windows <code>Form</code>, it displays "Collection" rather than "My ToString".</p>
  
  <pre><code>Test test = new Test();
  listBox1.Items.Add(test);
  </code></pre>
  
  <p>I thought the add to <code>Items</code> would just call my class's <code>ToString()</code>. The following works as expected of course</p>
  
  <pre><code>MessageBox.Show(test.ToString());
  </code></pre>