using System;
public class Program
{
private struct Test
public int X;
public Program Program;
public void Run()
if (X++ > 9)
return;
Program.theTest = new Test { X = this.X, Program = this.Program };
Program.theTest.Run();
Console.WriteLine(X.ToString());
}
Test theTest;
public static void Main()
var program = new Program();
program.theTest.Program = program;
program.theTest.Run();