所以我在这里想做的是传递一个类的相同副本(class A
)到另一个班级(class B
), but class B
实例化于class A
.
Using a new
中的声明class B
不起作用,因为当我希望能够使用第一个实例中的变量时,它会导致无限循环,并创建它的新实例class A
.
我知道关于object.equals()
但在定义之前我无法使用它class A
的对象在class B
。只是使用object.equals
结果为空引用。
public partial class class_A : Form
{
public class_B _class_B = new class_B;
public Int32 var;
private void setclassA()
{
_class_B._class_A.equals(this);
}
}
public class class_B
{
public class_A _class_A; // I know this is null
// code
}
就像我说的,我想避免实例化 A 类的新副本,因为我希望设置 A 类中的值。
我尝试使用一种方法来执行此操作,但仍然得到空引用。
Pass A
在构造函数中B
:
public class A
{
private B _b;
public A()
{
_b = new B(this);
}
}
public class B
{
private A _a;
public B(A a)
{
_a = a;
}
}
正如评论中提到的,你完全误解了.Equals()
。它用于比较两个对象是否相等,而不是克隆/传递引用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)