如何在C#中将对象设置为null

时间:2013-08-17 08:37:48

标签: c#

我有一个像这样的对象X

 X x1 = new X();

此处x1有3个属性说:

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

此处abc是其他类别的对象 无论这些如何,我都想将整个对象x1设置为null或设置每个属性:

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

有没有解决办法来实现这个目标?

2 个答案:

答案 0 :(得分:4)

请参阅Tell-Dont-Ask原则。不要向对象“X”询问它的属性并为对象管理它们。相反,创建一个方法,以便对象X可以自行管理:

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

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

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

答案 1 :(得分:0)