public void VetoVoteHandler(object sender, VetoEventArgs args) { Random random = new Random(); if (random.Next(0, 5) == 0) { args.VetoBy ??= this; } }
public VetoEventArgs Vote(string proposal) { var args = new VetoEventArgs() { Proposal = proposal }; OnVote?.Invoke(this, args); return(args); }
static void Main(string[] args) { VetoComission comission = new VetoComission(); VetoVoter[] voters = new VetoVoter[5]; for (int i = 0; i < voters.Length; i++) { voters[i] = new VetoVoter() { Name = GetName() }; comission.OnVote += voters[i].VetoVoteHandler; } VetoEventArgs result = comission.Vote("Запретить перед сессией студентам доступ в интернет, чтобы они не смотрели видео с котиками?"); Console.WriteLine($"Вопрос голосования: \"{result.Proposal}\"\n"); Console.WriteLine($"Вето наложено: {result.VetoBy?.Name ?? "а никем не наложено (все согласны)"}"); }