嗨,我正在处理看起来像这样的代码。
class A
{
Custom objA;
public A()
{
//Assign some value to objA;
B obj = new B(objA);
}
}
class B
{
Custom objB;
public B(Custom obj)
{
this.objB = obj;
}
public void Func()
{
this.objB = null;
}
}
哪里Custom
是自定义的可为空类型。
现在,按我所知,objA
必须更新为具有null值,每当我打电话了Func()
的class B
。然而,事实并非如此。
我在这里做错了吗?
首先,在第 5 行,您有一个语法错误。你可以做B obj = new B(objA)
,如果你要创建的新实例B
。但我只能猜测。
看起来您正在尝试做的是objA
通过将其传递给 type 的新对象B
,将其存储在一个字段中,然后修改该字段来进行修改。问题在于您存储的是对objA
. 当您这样做时this.objB = null
,您正在修改该字段objB
以具有新的引用 ( null
),但您尚未objA
对作为 class 实例成员的字段执行任何操作A
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句