3
Answers

ToString() and Name instance

Maha

Maha

11y
992
1
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
*/

Answers (3)