正在操作类型为List的属性

本文关键字:List 属性 类型 操作 | 更新日期: 2024-05-15 22:33:26

我有一个属性,它是列表类型,如下所示。

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:序列不包含任何元素。

如果事件处理程序不为null,则FireNewSMode_Data仅使用数据触发事件。

如有任何帮助,我们将不胜感激。

提前谢谢。

正在操作类型为List的属性

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

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