namespace lab12 { partial class Program { static void Main(string[] args) { VideoEncoder videoEncoder = new VideoEncoder(); videoEncoder.Encode(new Video {Title="Filmik"}); MailService mailService = new MailService(); mailService.Sendmail(); } } } //Video namespace lab12 { partial class Program { public class Video { public string Title { get; set; } } } } //VideoEncoder using System.Threading; namespace lab12 { partial class Program { public class VideoEncoder { public void Encode(Video video) { System.Console.WriteLine("Encoding Video ..."); Thread.Sleep(3000); System.Console.WriteLine("Encoding finished ..."); } } } } //mailservice using System; namespace lab12 { partial class Program { public class MailService { public void OnVideoEncoded(object source, EventArgs e) { Console.WriteLine("MailService: Sending an email..."); } public void Sendmail() { Console.WriteLine("MailService: Sending an email..."); } } } }