C# 设置BindingList时是否需要分离和重新匹配事件
我有以下代码:C# 设置BindingList时是否需要分离和重新匹配事件,c#,variable-assignment,assignment-operator,C#,Variable Assignment,Assignment Operator,我有以下代码: private BindingList<Box> _boxesToDisplay; public BindingList<Box> BoxesToDisplay { get { return _boxesToDisplay; } set { // Unhook the old one. Just inc
private BindingList<Box> _boxesToDisplay;
public BindingList<Box> BoxesToDisplay
{
get
{
return _boxesToDisplay;
}
set
{
// Unhook the old one. Just incase
_boxesToDisplay.AddingNew -= NewItemAdded;
// Set the new value
_boxesToDisplay = value;
// Hook in the value again.
_boxesToDisplay.AddingNew += NewItemAdded;
}
}
private bindingslist\u boxesToDisplay;
公共绑定列表框显示
{
得到
{
返回显示;
}
设置
{
//把旧的解开,以防万一
_boxesToDisplay.AddingNew-=newitemsadded;
//设置新值
_boxesToDisplay=值;
//再次钩住该值。
_boxesToDisplay.AddingNew+=newitemsadded;
}
}
但我开始思考。这是最好的,如果这是一个超负荷的援助经营者。然后我开始怀疑他们是否真的这么做了,我可以用以下代码替换我的代码:
public BindingList<Box> BoxesToDisplay { get; set; }
publicbindinglist BoxesToDisplay{get;set;}
这是真的吗?请问:
myClass.BoxesToDisplay = new BindingList<Box>();
myClass.BoxesToDisplay=newbindingList();
是否仍将AddingNew
事件设置为newitemsadded()
,并使用框的任一定义显示
这个[…]还会有
将新事件集添加到NewItemAdded()
有两种定义
拳击表演
不,您正在完全替换\u boxes以显示参考。没有移植EventHandler的机制
我所能说的是,有了Auto-Imp属性,您就不需要-=
了,因为其他东西仍然无法访问旧实例。但是你仍然需要附加到新的