#236 – Returning a Reference Type from a Method

A method can also have a return type that is a reference type, i.e. the method returns a value that references an object.

In the following example, the Dog.EvilTwin method returns a reference to another Dog object.  In this case, the new object is one that we create inside the method.

        public Dog EvilTwin()
            Dog myTwin = new Dog();
            myTwin.Name = string.Format("Anti-{0}", Name);

            return myTwin;

Here’s an example of how we might call the new method:

            Dog kirby = new Dog();
            kirby.Name = "Kirby";

            Dog twin = kirby.EvilTwin();
            Console.WriteLine(twin.Name);   // Anti-Kirby