0

我有一个X这样的对象:

 X x1 = new X();

这里x1有3个属性说:

x1.a;
x1.b;
x1.c;

这里a,bc是其他类的对象。
不管这些,我想将整个对象设置x1null或设置每个属性:

x1.a = null;
x1.b = null;

有什么解决方案可以做到这一点吗?

4

2 回答 2

4

参考告诉-不-问原则。不要向对象“X”询问它的属性并为对象管理它们。相反,创建一个方法,以便对象 X 可以管理自己:

class X
{
//...
  public void SetAllToNull()
  {
    this.a = null;
    this.b = null; 
    this.c = null;    
  }
}

X x = new X();
//...
x.SetAllToNull();

为什么需要这个是另一个问题。您可能需要重新考虑您的方法,仔细设计所有对象的职责

于 2013-08-17T08:44:19.247 回答