observablecollection 或者list 里面带command的,可以用实例对象.clear一并清除吗

qq14923349 2017-05-31 02:39:10
例如我有个ObservableCollection<我的结构> test = new ````(或者{set;get})

在 我的结构里面
publie class 我的结构
{
int xxx;
float xxx;

//关建在这里
public MyCommand {get;set;} //Mycommand是我对ICommand的封装

}

像这种结构 如果我是在界面有个一键初始化
我可以直接用
test.clear()吗 那个MyCommand也一并清除吗

...全文
137 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 qq14923349 的回复:
[quote=引用 1 楼 duanzi_peng 的回复:] 并不一定,clear 只是清楚了内容,而非清楚了在堆栈上的引用,不过CLR中的垃圾回收器(GC) 会定时回收这些“不在使用”的托管资源。
问题是 我那个结构里面有动态生成按钮的command绑定,我目前是把整个list 都clear掉,然后再.add默认的值 这个功能是界面上有个恢复默认的按钮,相当于把list清空然后读配置重新赋值。 现在这样处理后 我的按钮的canexcute接收到的string都为null了。不知道问题出哪[/quote] 相当于把list清空然后读配置重新赋值 -》怎么重新赋值的? 绑定类里边的Command到 按钮上的Comand 上? 重新赋值是完全可以的,就相当于把Command重新引用一边
qq14923349 2017-05-31
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
并不一定,clear 只是清楚了内容,而非清楚了在堆栈上的引用,不过CLR中的垃圾回收器(GC) 会定时回收这些“不在使用”的托管资源。
问题是 我那个结构里面有动态生成按钮的command绑定,我目前是把整个list 都clear掉,然后再.add默认的值 这个功能是界面上有个恢复默认的按钮,相当于把list清空然后读配置重新赋值。 现在这样处理后 我的按钮的canexcute接收到的string都为null了。不知道问题出哪
  • 打赏
  • 举报
回复
并不一定,clear 只是清除了内容,而非清除了在堆栈上的引用,不过CLR中的垃圾回收器(GC) 会定时回收这些“不在使用”的托管资源。

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧