//
// 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;
using System.IO;
using Microsoft.CSharp;
using Microsoft.VisualBasic;

namespace CodeDomCodeGeneration
{
	/// <summary>
	/// Podsumowanie dla Class1.
	/// </summary>
	class CodeDomCodeGenerationMain
	{
		static void Main(string[] args)
		{
			CSharpCodeProvider csprovider = new CSharpCodeProvider();
			string filename = "HelloWorld";
			Stream s = File.Open(filename + ".cs", FileMode.Create);
			StreamWriter t = new StreamWriter(s);
			GenerateCode.HelloWorldCode(csprovider, t);
			t.Close();
			s.Close();
			GenerateCode.CompileAndExecute(csprovider, filename + ".cs", filename + "cs.exe");

			VBCodeProvider vbprovider = new VBCodeProvider();
			s = File.Open(filename + ".vb", FileMode.Create);
			t = new StreamWriter(s);
			GenerateCode.HelloWorldCode(vbprovider, t);
			t.Close();
			s.Close();
			GenerateCode.CompileAndExecute(vbprovider, filename + ".vb", filename + "vb.exe");
		}
	}
}
