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()); }
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); }