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.
1
2
3
4
5
6
7
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:


1
2
3
4
5
Dog kirby = new Dog();
kirby.Name = "Kirby";
 
Dog twin = kirby.EvilTwin();
Console.WriteLine(twin.Name);   // Anti-Kirby