1

我什至不确定这个问题的标题是否正确,但我不确定如何描述这个问题。基本上我有以下两个课程:

class A
{
    public B b { get; set; }
}

class B
{
    public string name { get; set;}
}

创建A类的对象后,我试图B像这样定义类变量名:

A classA = new A();
A.B.name = "TEST";

但是,我不断收到以下错误:

你调用的对象是空的。

显然,我在做一些完全错误的事情。任何帮助,将不胜感激。

谢谢!

4

5 回答 5

10

您还没有创建B它的实例null(即在您的实例中A)。例如,您可以在构造函数中实例化它:

class A
{
    public B b { get; set; }

    public A()
    {
        b = new B();
    }
}
于 2013-04-26T15:25:42.537 回答
1

你需要这样称呼它:

A classA = new A();
classA.b = new B();
classA.b.name = "TEST";

问题是您需要在您创建的实例b上实例化属性。classA

于 2013-04-26T15:26:13.310 回答
0

B一片空白。您需要先实例化B才能引用它。

A classA = new A();
classA.B = new B();
classA.B.name = "TEST";
于 2013-04-26T15:25:51.837 回答
0

初始化 B 类

A classA = new A();
classA.b = new B();
classA.b.name = "TEST";
于 2013-04-26T15:26:01.267 回答
0

您需要一个 B 类的实例。

A classAInstance = new A();
classAInstance.b = new B();
classAInstance.b.name = "TEST";
于 2013-04-26T15:27:17.837 回答