http://www.c-sharpcorner.com/Forums/Thread/153399/
This example is given in the above website. If ToString() method is replaced by "Name" the output is same. Please explain the reason. Problem is highlighted.
string nameOFclass = p.GetType().
Name;
using System;
interface person
{
String Name { get; set; }
}
class Poster : person
{
public String Name { get; set; }
}
class President : person
{
public String Name { get; set; }
public int Age { get; set; }
}
class Test
{
static void Main()
{
Poster po = new Poster();
po.
Name = "Michell";
PrintDetails(po);
President pr = new President();
pr.
Name = "Barack";
pr.Age = 50;
PrintDetails(pr);
Console.ReadKey();
}
static void PrintDetails(person p)
{
string nameOFclass = p.GetType().
ToString();
string type = nameOFclass.ToLower();
char initial = p.Name[0];
Console.WriteLine("{0} is a {1} and his initial is {2}", p.Name, type, initial);
}
}
/*
Michell is a poster and his initial is M
Barack is a president and his initial is B
*/