访问内部对象属性而不继承

时间:2017-10-23 14:53:28

标签: c#

我有一个有对象的类。我想设置内部对象的值。

问题我想设置值并打印name类的Case 我的代码 -

public class Case
{
    public string name { get; set; }
}
public class Myclass
{
    public Case C { get; set; }
}
class Hello
{
    static void Main()
    {
        Myclass obj = new Myclass();
        string val = obj.C.name = "Testing";
        Console.WriteLine(val);
        Console.ReadLine();
    }
}

问题 - 我正在获得null异常。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

您需要先创建Case的新实例:

obj.C = new Case() ;
string value = obj.C.name = "Testing";

答案 1 :(得分:0)

创建C的实例时,需要实例化MyClass。像

这样的东西
public class Case
{
    public string name { get; set; }
}
public class Myclass
{
    public Myclass(string name) { C = new Case(); C.name = name; }
    public Case C { get; set; }
}
class Hello
{
    static void Main()
    {
        Myclass obj = new Myclass("Testing");
        string val = obj.C.name;
        Console.WriteLine(val);
        Console.ReadLine();
    }
}

答案 2 :(得分:0)

由于obj.C是一个复杂属性,您需要实例化obj.C,如下所示,

Myclass obj = new Myclass();
obj.C = new Case();
string val = obj.C.name = "Testing";
Console.WriteLine(val);
Console.ReadLine();