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

标签 c# object

所以我在这里要做的是将一个类 (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/

相关文章:

c# - 如何使用 WebService 将文件复制到 SharePoint 中?

c# - 如何跨多台机器(如渲染农场)运行 C# Task Parallel Library?

c# - 向 RadComboBox 添加空字符串

java - 将一个对象的引用传递给另一个类中的另一个方法

java - 创建实例变量对象

c# - 如何删除 JSON 字符串中的开始和结束双引号以及所有反斜杠 - C#

c# - 语法语言与语音识别器的语言不匹配

swift - 在初始化时将对象添加到列表

javascript - 了解原型(prototype)继承

PHP:从对象中获取数据