예제 #1
0
        public override bool Equals(object obj)
        {
            if (!base.Equals(obj))
            {
                return(false);
            }

            CookedFood rhs = (CookedFood)obj;

            return(this._cookingMethod == rhs._cookingMethod);
        }
예제 #2
0
        public static void RunDemo()
        {
            Console.WriteLine("RefTypeEquality demo: Demonstrates two reference types- \n" +
                              "FoodBase(base type) and CookedFood (sealed derived type)\n" +
                              "for which equality has been implemented correctly\n");

            FoodBaseRefType apple        = new FoodBaseRefType("apple", FoodGroup.Fruit);
            CookedFood      stewedApple  = new CookedFood("stewed", "apple", FoodGroup.Fruit);
            CookedFood      bakedApple   = new CookedFood("baked", "apple", FoodGroup.Fruit);
            CookedFood      stewedApple2 = new CookedFood("stewed", "apple", FoodGroup.Fruit);
            FoodBaseRefType apple2       = new FoodBaseRefType("apple", FoodGroup.Fruit);

            DisplayWhetherEqual(apple, stewedApple);
            DisplayWhetherEqual(stewedApple, bakedApple);
            DisplayWhetherEqual(stewedApple, stewedApple2);
            DisplayWhetherEqual(apple, apple2);
            DisplayWhetherEqual(apple, apple);

            Console.WriteLine();
        }