using System.Collections.Generic;
public class UjeteKilometryEventArgs : EventArgs
public int PocetKilometru { get; set; }
public UjeteKilometryEventArgs(int pocetKilometru)
PocetKilometru = pocetKilometru;
public string Jmeno { get; set; }
Random random = new Random();
public event EventHandler DosloPalivo;
public event EventHandler<UjeteKilometryEventArgs> DokoncenaJizda;
public int MnozstviPaliva { get; private set; } = 10;
if (DokoncenaJizda != null)
DokoncenaJizda(this, new UjeteKilometryEventArgs(random.Next(10)));
Console.WriteLine("Jeduuuu");
if (MnozstviPaliva <= 0 && DosloPalivo != null)
DosloPalivo(this, EventArgs.Empty);
Console.WriteLine("Doslo palivo.");
public void DoplnPalivo()
static void Main(string[] args)
List<Auto> seznamAut = new List<Auto>()
new Auto() { Jmeno = "Renault" },
new Auto() { Jmeno = "Skoda" },
new Auto() { Jmeno = "Bmw" }
foreach (Auto auto in seznamAut)
auto.DosloPalivo += Auto_DosloPalivo;
auto.DokoncenaJizda += Auto_DokoncenaJizda;
auto.DokoncenaJizda += Auto_ZobrazCelkoveKilometry;
foreach(Auto auto in seznamAut)
foreach (Auto auto in seznamAut)
auto.DosloPalivo -= Auto_DosloPalivo;
auto.DokoncenaJizda -= Auto_DokoncenaJizda;
auto.DokoncenaJizda -= Auto_ZobrazCelkoveKilometry;
foreach(Auto auto in seznamAut)
private static void Auto_ZobrazCelkoveKilometry(object sender, UjeteKilometryEventArgs e)
Auto auto = sender as Auto;
celkemKm += e.PocetKilometru;
Console.WriteLine($"Celkem už ujeli {celkemKm}");
private static void Auto_DokoncenaJizda(object sender, UjeteKilometryEventArgs e)
Auto auto = sender as Auto;
Console.WriteLine($"Auto {auto.Jmeno} ujelo {e.PocetKilometru}");
private static void Auto_DosloPalivo(object sender, EventArgs e)
Auto auto = sender as Auto;
Console.WriteLine($"Doplneno palivo pro {auto.Jmeno}.");