我甚至不确定这个问题的标题是否正确,但我不确定如何描述问题。基本上我有两个以下的课程:
class A
{
public B b { get; set; }
}
class B
{
public string name { get; set;}
}
在我创建A
类的对象后,我正在尝试定义类B
变量名,如下所示:
A classA = new A();
A.B.name = "TEST";
但是,我一直收到以下错误:
对象引用未设置为对象的实例。
显然,我做错了。任何帮助将不胜感激。
谢谢!
答案 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";