我有一个列表类型属性如下。
private List<ListCOP_PAYLOAD> m_COP_DATA = new List<ListCOP_PAYLOAD>();
public List<ListCOP_PAYLOAD> COP_DATA
{
get
{
return m_COP_DATA;
}
set
{
m_COP_DATA = value;
FireNewSMode_Data();
}
}
每次添加数据时,我都会使用以下内容:
m_exchangedata.COP_DATA = Mstruct.lMCOPStruct;
但它只是用新的数据变量增加了列表大小。
我想清除以前的数据,所以我用了
m_exchangedata.COP_DATA.Clear();
编辑: 我按此顺序使用它
m_exchangedata.COP_DATA.Clear();
m_exchangedata.COP_DATA = Mstruct.lMCOPStruct;
但这似乎不起作用。
我得到InvalidOperationException:Sequence不包含任何元素。
如果事件处理程序不为null,FireNewSMode_Data只会触发带有数据的事件。
任何帮助都将不胜感激。
提前致谢。
答案 0 :(得分:1)
在清除COP_DATA
列表之前设置计数条件:
if(m_exchangedata.COP_DATA.Count > 0)
{
m_exchangedata.COP_DATA.Clear();
}
m_exchangedata.COP_DATA = Mstruct.lMCOPStruct;