c#Objectlistview删除带有索引的对象

问题描述 投票:0回答:1

我有一个问题。我在我的项目中使用this ObjectListView。我知道有关此listview的观点,所以我不使用常规的Listview.Items而是使用对象。至于我的问题,我通常不会使用此视图从列表视图中删除一个项目:

mainForm.lvPlaylist.BeginUpdate();
mainForm.lvPlaylist.RemoveObjects(PIList);
mainForm.lvPlaylist.EndUpdate();

现在这有效。我将1个对象放入PIList中,并将其提供给RemoveObjects方法,它会删除该对象。但是现在我有2个不同的exe,其中一个将行对象发送给另一个具有相同变量值(除了2个变量)的对象。我将日期时间存储在2个变量中,当我的exe文件中的1个对第二个变量说“好吧,这是值创建行对象,但我不能给我我的creationTime”时,第二个变量创建对象并将其添加到其内部自己的清单。但是,由于此变量的差异而导致删除时,我的第二个exe无法在其自己的列表中找到该项目,因此无法删除。

我的问题是:我可以通过某种方式删除此变量值吗?还是可以以某种方式删除带有索引的对象?我搜索了但找不到

编辑:我为我的问题做了一个解决方法。在模型中添加了索引属性,当我将行对象发送到第二个应用程序时,我使用该索引属性重新创建对象列表,然后将新创建的对象列表传递给我的delete方法,它可以工作。我尝试了IEquatable接口,但是没有用。直到找到更好的解决方案为止,我将继续执行此解决方法。

c# objectlistview
1个回答
0
投票

控件使用Equals()确定两个模型对象是否“相同”。

只需实现Equals()(当然还有GetHashCode()),它就会按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.