title: The type 'System.Void' may not be used as a type argument! Error occurs
body: <p>I am getting weird error on c# winforms. I summarize the problem step by step.</p>
  
  <ol>
  <li>I have 1 model (public class)</li>
  <li>I have a winform that includes a datagridtable and this is binded to model.</li>
  <li>Winfom.cs is opened.</li>
  <li>Close the visual studio and reopen.</li>
  <li>I am getting error as below :</li>
  </ol>
  
  <blockquote>
    <p>at System.RuntimeType.
         ThrowIfTypeNeverValidGenericArgument(RuntimeType type)
         SanityCheckGenericArguments(RuntimeType[] genericArguments, RuntimeType[] genericParamters)
         MakeGenericType(Type[] instantiation)</p>
    
    <p>at System.Windows.Forms.BindingSource.
         CreateBindingList(Type type)
         GetListFromType(Type type)
         ResetList()
         System.ComponentModel.ISupportInitialize.EndInit()</p>
  </blockquote>
  
  <ol start="6">
  <li>When I click the error message it forwards me the winform.designer.cs below</li>
  </ol>
  
  <blockquote>
    <p>(System.ComponentModel.ISupportInitialize)(this.tankModelBindingSource).EndInit();</p>
  </blockquote>
  
  <ol start="7">
  <li><p>I close all of them without any change &amp; reopen the winform.cs (designer) </p></li>
  <li><p>Error is gone!</p></li>
  </ol>
  
  <p>Am I missing something? Every time do I have to get this error? Is this a bug or not? </p>
  
  <p>Thanks.</p>
  
  <pre><code>    public void datagridFixedItemVisualization()
      {
          fixedItemModelBindingSource.DataSource = MainParticularsModel.FixedItemList;
      }
  
      private void dgTankSet_CellEndEdit(object sender, DataGridViewCellEventArgs e)
      {
  
          // CALCULATING....
  
          dgTankSet.DataSource = MainParticularsModel.TankList;
  
          dgTankSet.Refresh();
  
      }
  
      private void cmbCatFilter_SelectedIndexChanged(object sender, EventArgs e)
      {
          CurrencyManager currencyManager1 = (CurrencyManager)BindingContext[dgTankSet.DataSource];
          currencyManager1.SuspendBinding();
  
          TankCategory cmbfiltername = (TankCategory)Enum.Parse(typeof(TankCategory), cmbCatFilter.SelectedItem.ToString());
  
          switch (cmbfiltername)
          {
              case TankCategory.ALL:
                  makeALLrowsVisible();
                  currencyManager1.ResumeBinding();
                  break;
  
              case TankCategory.ETC:
                  makeALLrowsVisible();
                  foreach (DataGridViewRow row in dgTankSet.Rows)
                  {
                      if (row.Cells[0].Value.ToString() != "ETC")
                      {
                          row.Visible = false;
                      }
                  }
                  currencyManager1.ResumeBinding();
                  break;
  
          }
  
      }
  
  
      private void btnAddFixedItem_Click(object sender, EventArgs e)
      {
          using (FixedItemForm frm = new FixedItemForm() {FixedItemInfo=new FixedItemModel() })
          {
              if (frm.ShowDialog() == DialogResult.OK)
              {
                  MainParticularsModel.FixedItemList.Add(frm.FixedItemInfo);
  
                  fixedItemModelBindingSource.ResetBindings(false);
  
                  fixedItemModelBindingSource.DataSource = MainParticularsModel.FixedItemList;
  
                  dgFixedItems.Update();
  
                  dgFixedItems.DataSource = fixedItemModelBindingSource;
  
              }
          }
      }
  </code></pre>