Console.WriteLine("Person details - {0}", Person);
uses the
ToString()
method.
When you override this (as is done in your class), this overriden method is called.
If not, the default
ToString
method would have been called.
How To: Override the ToString Method [
^] might give you some more insight into this issue.