namespace InitializationOrderWithCircularDependencies;

public class AfterYou
{
    static AfterYou()
    {
        Console.WriteLine("Początek statycznego konstruktora klasy AfterYou.");
        Console.WriteLine("NoAfterYou.Value: " + NoAfterYou.Value);
        Value = 123;
        Console.WriteLine("Koniec statycznego konstruktora klasy AfterYou.");
    }

    public static int Value = 42;
}

public class NoAfterYou
{
    static NoAfterYou()
    {
        Console.WriteLine("Początek statycznego konstruktora klasy NoAfterYou.");
        Console.WriteLine("AfterYou.Value: " + AfterYou.Value);
        Value = 456;
        Console.WriteLine("Koniec statycznego konstruktora klasy NoAfterYou.");
    }

    public static int Value = 42;
}

class Program
{
    static void Main()
    {
        Console.WriteLine(AfterYou.Value); ;
    }
}
