public static void Main(string[] args)
        {
            BeerCloneFactory beerFactory = new BeerCloneFactory();

            Beers corona = new Beers();

            Beers clonedCorona = (Beers)beerFactory.getCoronaCopy(corona);

            Console.WriteLine(clonedCorona);

            // print hashcode of created objects to show they have been created with different memory location

            Console.WriteLine("Original Corona beer hashcode is ::: " + corona.GetHashCode());
            Console.WriteLine("Cloned Corona beer hashcode is ::: " + clonedCorona.GetHashCode());
        }
Esempio n. 2
0
        public BottleShop copyBeer()
        {
            Console.WriteLine("Beer is being transferred..");

            Beers makeBeer = null;

            try
            {
                // make a copy of existing object Beers
                makeBeer = (Beers)base.MemberwiseClone();
            }
            catch (AccessViolationException e)
            {
                if (e != null)
                {
                    e.StackTrace();
                }
            }
            return(makeBeer);
        }