I am trying to get a object structure such that when someone calls base.two.three.four...seven seven is a getter that would get the value as well as logically inherit values the previous levels. I am trying to figure out how to accomplish this with C# as different variations that I've tried I get a stack overflow or unhandled exception. I remember this being easier with Java. The following is just basic code to acomplish a couple levels:
using System;
public class Program
{
public static void Main()
{
test test = new test();
Console.WriteLine(test.a);
Console.WriteLine(test.Ic.a);
Console.WriteLine(test.Ic.b);
}
}
public class test
{
public test()
{
}
public testinner Ic {get;set;}
public int a = 1;
public class testinner : test
{
public testinner()
{
a = 3;
}
public int a {get;set;}
public int b = 2;
}
}
When I run this I get:
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
at Program.Main()
Command terminated by signal 6
Console.WriteLine(test.a); Correctly outputs 1, but the error occurs starting at the following lines:
Console.WriteLine(test.Ic.a);
Console.WriteLine(test.Ic.b);
The output is supposed to be: 1 3 2
How do I resolve this?