操作属性为List的属性

时间:2013-11-27 06:27:25

标签: c# list properties

我有一个列表类型属性如下。

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只会触发带有数据的事件。

任何帮助都将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:1)

在清除COP_DATA列表之前设置计数条件:

if(m_exchangedata.COP_DATA.Count > 0)
{
    m_exchangedata.COP_DATA.Clear();
}
m_exchangedata.COP_DATA = Mstruct.lMCOPStruct;