public Zoo(Feeder feeder) { animals.Add(new Cat(true)); animals.Add(new Hamster(true)); foreach (Animal an in animals) { feeder.FeedingEvent += new FeedingHandle(an.Feed); } }
public SmallZoo(Feeder feeder) { animals.Add(new Cat(true)); foreach (Animal an in animals) { feeder.FeedingEvent += (f, fargs) => { an.Feed(f, fargs); }; } }
public BigZoo(Feeder feeder) { animals[0] = (new Cat(true)); animals[1] = (new Hamster(true)); for (int i = 0; i < ANIMALS_AMOUNT; i++) { feeder.FeedingEvent += new FeedingHandle(animals[i].Feed); } }
public static void JsonSerialization(Feeder feeder, string path) { using (Stream stream = new FileStream(path, FileMode.Create)) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Feeder)); ser.WriteObject(stream, feeder); stream.Position = 0; StreamReader streamReader = new StreamReader(stream); Console.WriteLine(streamReader.ReadToEnd()); stream.Position = 0; Feeder result = (Feeder)ser.ReadObject(stream); } }
public BigZoo(Feeder feeder) { animals[0] = (new Cat(true)); animals[1] = (new Hamster(true)); for (int i = 0; i < ANIMALS_AMOUNT; i++) { /* Classical events (used in lab 2) */ feeder.FeedingEvent += new FeedingHandle(animals[i].Feed); /* Usind anonym method */ //feeder.FeedingEvent += delegate (Feeder f, FoodEventArgs fargs) { animals[i].Feed(f, fargs); }; } }
static void Main(string[] args) { Feeder feeder = new Feeder("Katya"); Zoo zoo = new Zoo(feeder); feeder.Feeding(); Cat c = new lab1.Cat(false); Console.WriteLine("\nRacion of cat: \n"); c.Racion(); Console.ReadKey(); }
public SmallZoo(Feeder feeder) { animals.Add(new Cat(true)); foreach (Animal an in animals) { /* Using lambdas*/ feeder.FeedingEvent += (f, fargs) => { an.Feed(f, fargs); }; /* Using Func */ //Func<Feeder, FoodEventArgs> FeedingEvent = (f, fargs) => { animals[i].Feed(f, fargs); }; //FeedingEvent += (f, fargs) => { an.Feed(f, fargs);}; /* Using Action */ //Action<Feeder, FoodEventArgs> FeedingEvent = (f, fargs) => { animals[i].Feed(f, fargs); }; //FeedingEvent += (f, fargs) => { an.Feed(f, fargs); }; } }
public override void Feed(Feeder f, FoodEventArgs fargs) { if (isHungry) { makeSound(); Console.WriteLine("Cat is feeding by " + f.name); try { Exceptions.ProcessFood(fargs.drink, fargs.foodAmount); Exceptions.ProcessCatFood(fargs.foodAmount); } catch (Exceptions ex) { Console.WriteLine("It is incorrect amount of food for Cat or incorrect drink" + ex.Message); } } else { Console.WriteLine("Meow, I am not hungry"); } }
public override void Feed(Feeder f, FoodEventArgs fargs) { if (isHungry) { makeSound(); Console.WriteLine("Hamster is feeding by " + f.name); try { Exceptions.ProcessFood(fargs.drink, fargs.foodAmount); Exceptions.ProcessHamsterFood(fargs.foodAmount); } catch { Console.WriteLine("It is incorrect amount of food for Hamster or incorrect drink"); } } else { Console.WriteLine("I am not hungry"); } }
static void Main(string[] args) { Cat c1 = new Cat(true); Cat c2 = new Cat(true); Cat c3 = new Cat(true); Cat c4 = new Cat(true); Hamster h1 = new Hamster(true); Hamster h2 = new Hamster(true); Feeder feeder1 = new Feeder("Katya", 18, "Female"); Feeder feeder2 = new Feeder("Stas", 19, "Male"); Feeder[] feeders = new Feeder[5]; feeders[0] = feeder1; feeders[1] = feeder2; //Animal[] animals = new lab1.Animal[] { c1, c2, h1, h2 }; Cat[] cats = new Cat[] { c1, c2, c3, c4 }; /* * Feeder feeder1 = new Feeder("Katya"); * Feeder feeder2 = new Feeder("Stas"); * BigZoo zoo1 = new BigZoo(feeder1); * SmallZoo zoo2 = new SmallZoo(feeder2); * feeder1.Feeding(); * feeder2.Feeding(); * * Cat c = new lab1.Cat(false); * Console.WriteLine("\nRacion of cat: \n"); * c.Racion(); * c.SpecialRacion("milk"); * */ //JsonSerial(feeder1, "obj.json"); XmlSerial(cats); Console.ReadKey(); }
abstract public void Feed(Feeder f, FoodEventArgs fargs);