C#定义的类变量类型

时间:2013-04-26 15:24:26

标签: c# oop

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

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

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

在我创建A类的对象后,我正在尝试定义类B变量名,如下所示:

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

但是,我一直收到以下错误:

  

对象引用未设置为对象的实例。

显然,我做错了。任何帮助将不胜感激。

谢谢!

5 个答案:

答案 0 :(得分:10)

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

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

    public A()
    {
        b = new B();
    }
}

答案 1 :(得分:1)

你需要这样称呼它:

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

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

答案 2 :(得分:0)

B为空。您需要先实例化B才能引用它。

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

答案 3 :(得分:0)

初始化B类

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

答案 4 :(得分:0)

您需要B类的实例。

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