gpt4 book ai didi

c# - 如何在类之间传递对象

转载 作者:太空狗 更新时间:2023-10-30 01:34:36 24 4
gpt4 key购买 nike

所以我在这里要做的是将一个类 (class A) 的相同副本传递给另一个类 (class B),但是 B类A类中实例化。

class B 中使用 new 语句将不起作用,因为它会导致无限循环,并在我想要时创建它的新实例能够使用来自 class A 的第一个实例的变量。

我知道 object.equals() 但我不能使用它直到我在 class B 中定义 class A 的对象>。仅使用 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 类中的值。

我已经尝试使用一种方法来完成它,但仍然得到空引用。

最佳答案

B的构造函数中传递A:

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()。它用于比较两个对象是否相等而不是克隆/传递引用。

关于c# - 如何在类之间传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com