我在几个setter中的类中有这个构造:
this.RaiseUnselected(this.property);
this.property = value;
this.RaiseSelected(this.property);
为了清理我的课程,我将其提取为如下方法:
private void SetProperty(IType target, IType value)
{
this.RaiseUnselected(target);
target = value;
this.RaiseSelected(target);
}
这导致一些单元测试失败。您可能会发现问题是target
按值传递,设置不会反映回this.property
传递给target
。
我通过将功能更改为
来修复它private void SetProperty(ref IType target, IType value)
但如果可能,我不是使用ref
的忠实粉丝。还有其他建议吗?
答案 0 :(得分:3)
这是ref
的意思;在这里使用它并没有错。