pch*_*jer -1 c# class circular-reference
我有三个班级,他们之间有一个循环引用.
class A
{
public A()
{
B obj = new B();
}
}
class B
{
public B()
{
C obj = new C();
}
}
class C
{
public C()
{
A obj = new A();
}
}
Run Code Online (Sandbox Code Playgroud)
当我创建一个对象时A,它会抛出一个异常.
我如何创建循环引用彼此的类实例?
当我创建A的对象时,它会抛出异常
是的,它会的.创建A创建一个新的B,创建一个新的C,创建一个新的A等.
我怎么能解决循环引用.
大概你想要C构造函数知道原始的A?如果是这样,有两种选择:
this从A构造函数传递给构造B函数,然后将它从B构造函数传递给C构造函数.这在允许this逃避A构造函数方面是令人讨厌的,应该非常谨慎地完成.(B并且C在它有机会完成初始化之前,不应该调用实例上的任何方法.)