C# C从列表中删除项将在内部更新数据库
我目前正在研究一个编程场景。我想在删除项目的同时在后台执行一些特殊功能,在本例中,这些功能将更新外部数据库 我曾想过使用IDisposable,但它会在程序关闭时执行删除操作。如果这是正确的,是否有某种方法仅在我从列表中删除项目时执行清理操作,而不是在程序关闭期间 谢谢 编辑: 根据注释,以下是一些示例代码:C# C从列表中删除项将在内部更新数据库,c#,idisposable,C#,Idisposable,我目前正在研究一个编程场景。我想在删除项目的同时在后台执行一些特殊功能,在本例中,这些功能将更新外部数据库 我曾想过使用IDisposable,但它会在程序关闭时执行删除操作。如果这是正确的,是否有某种方法仅在我从列表中删除项目时执行清理操作,而不是在程序关闭期间 谢谢 编辑: 根据注释,以下是一些示例代码: public class CItem { private string Name; private int Data; public void destroy()
public class CItem
{
private string Name;
private int Data;
public void destroy()
{
// Do something that performs clean up only during run-time, not program exiting
}
}
public class CMain
{
private List<CItem> items;
public setItem(CItem newItem)
{
items.add(newItem);
}
public removeFirstItem()
{
items.remove(items[0]); // remove the first item and dispose
}
}
行items.removeitems[0]是否可能在移除和销毁某个项目时,我可以执行仅限于在运行时进行处置的后台处置?首先,使用“using”语句:。第二,介意分享一些代码吗?这个问题让人很困惑,因为你想做什么,但有一件事我想我可以帮助你,那就是IDisposable在关机时不会被调用。您必须显式调用.Dispose以处置所有IDisposable对象。使用BindingList并订阅ListChanged事件。如果我没有错,您会问两个问题,对吗?1.如何在从listview中删除项时执行DML操作。2.如何在从listview中删除项时进行清理。若要对列表集合更改执行特殊操作,可以检查以下线程:http://stackoverflow.com/questions/10419419/observablecollectiont-collectionchanged-event