// Arquivo de exemplo: Eventos.cs
// Para compilar utilize: csc Eventos.cs
using System;
using AlfredoLotar.Livro.Aspnet;

namespace AlfredoLotar.Livro.Aspnet {
	public delegate void VotoEventHandler(object sender, EventArgs e);
	public class EventoTeste {
		public event VotoEventHandler Escolher;

		protected virtual void OnEscolher(EventArgs e) {
			if (Escolher != null) 	{
				Escolher(this, e);
			}
		}
		public void Ler(string str) {
			if(str.Trim() != "") {		
				OnEscolher(EventArgs.Empty);
			}
		}
	}
	public class Teste {
		public Teste(string str) {
			EventoTeste ev = new EventoTeste();
			ev.Escolher += new VotoEventHandler(ev_OnEscolher);
			ev.Ler(str);
		}
		void ev_OnEscolher(object sender, EventArgs e) {
			Console.WriteLine("Você acabou de votar.");
		}
	}
}

class Programa {
	static void Main() {
		Console.WriteLine("Escolha um número de 1 a 5.");
		new Teste(Console.ReadLine());
		Console.Read();
	}	
}
