C# 类型';System.Void';不能用作类型参数!发生错误
我在c#winforms上遇到了奇怪的错误。我一步一步地总结这个问题C# 类型';System.Void';不能用作类型参数!发生错误,c#,winforms,bindingsource,data-loss,generic-type-argument,C#,Winforms,Bindingsource,Data Loss,Generic Type Argument,我在c#winforms上遇到了奇怪的错误。我一步一步地总结这个问题 我有一个模型(公共课) 我有一个winform,其中包含一个datagridtable,它绑定到模型 Winfom.cs已打开 关闭visual studio并重新打开 我得到的错误如下: 在System.RuntimeType。 Throwiftypenervalidgenericargument(RuntimeType类型) SanityCheckGenericArguments(RuntimeType[]genericA
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;
}
}
}
当设计器打开时,代码将运行。您可能已经在设计器代码中更改了某些内容?如果是,您不应该真正触碰机器生成代码,因为它在运行时可能会导致设计器代码的异常行为“这是绑定到模型的”-什么是模型?所发生的事情几乎肯定与您指定为源的任何内容有关……这一部分有点复杂。为了便于理解,请考虑汽车模型,datagrid表显示汽车(名称、颜色、功率等),如果我更改了属性,模型列表也会更新。所以datagrid表只是为了可视化和更改模型参数。@Xazarcengz我强烈怀疑是否有必要向Marc解释模型绑定是如何工作的。我猜他让你把模型的代码和binding@MongZhu,我在问题的顶部添加了VS中的一些代码。另一方面,模型是从属性>数据源绑定的。。。