//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
// 
using System;

namespace Testing
{
	class RefMain
	{
		public static int TestRef(ref int i, ref int j)
		{
			Console.WriteLine("Wejście do TestRef {0} {1}", i, j);
			i = 5;
			j = 6;
			return 4;
		}
		public static int TestOut(out int i, out int j)
		{
			// Console.WriteLine("Wejście do TestOut {0} {1}", i, j);
			i = 2;
			j = 3;
			return 1;
		}
		public static void Main() 
		{
			int a;
			int b;
			int c = TestOut(out a, out b);
			Console.WriteLine("{0} {1} {2}", a, b, c);
			// int d;
			// int e;
			int d = -1;
			int e = -2;
			int f = TestRef(ref d, ref e);
			Console.WriteLine("{0} {1} {2}", d, e, f);
		}
	}
}