using System;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
ZapiszKolejnosc("Poczatek programu");
Metoda2();
foreach (string s in kolejnosc)
Console.WriteLine(s);
}
public static void Metoda2()
{
ZapiszKolejnosc("Wywolanie metody 2");
var s = new Statyczna();
ZapiszKolejnosc("Odwolanie do zmiennej instancji: " + s.Zmienna);
Metoda3();
}
public static void Metoda3()
{
ZapiszKolejnosc("Wywolanie metody 3");
ZapiszKolejnosc("Odwolanie do zmiennej statycznej 1:" + Statyczna.ZmiennaStatyczna);
ZapiszKolejnosc("Odwolanie do zmiennej statycznej 2:" + Statyczna.ZmiennaStatyczna2);
}
public readonly static List<string> kolejnosc = new List<String>();
public static int ZapiszKolejnosc(string nazwa)
{
kolejnosc.Add(nazwa);
return kolejnosc.Count;
}
}
class Statyczna
{
public static int ZmiennaStatyczna = Test.ZapiszKolejnosc("Inicjalizacja zmiennej statycznej 1");
public int Zmienna = Test.ZapiszKolejnosc("Inicjalizacja zmiennej instancji");
public static int ZmiennaStatyczna2 = Test.ZapiszKolejnosc("Inicjalizacja zmiennej statycznej 2");
public Statyczna()
{
Test.ZapiszKolejnosc("Wywolanie konstruktora klasy");
}
static Statyczna()
{
Test.ZapiszKolejnosc("Wywolanie konstruktora statycznego");
}
}