Introduction
Method hiding in C# is similar to the function
overriding feature in C++. Functions of the base class are available to the
derived class. If the derived class is not happy one of the functions available
to it from the base class can define its own version of the same function with
the same function signature just differing in implementation.
C#
not only supports method overriding but also
method hiding. Simply put if a method is not overriding the derived
method it is hiding it. A hiding method has to be declared using the
new
keyword.
Example:
Simple example
of a method hiding in a C#.
Code
using System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace Tom
{
class TOM
{
public void
Display()
{
System.Console.WriteLine("TOM::Display");
}
}
class JOY
: TOM
{
public new
void Display()
{
System.Console.WriteLine("JOY::Display");
Console.ReadLine();
}
}
class Show
{
public static
void Main()
{
JOY obj =
new JOY();
obj.Display();
}
}
}
Output : Press ctrl+f5 run a application.

Summary :
The compiler
warns us about Display() of JOY forcibly hiding Display() of TOM. Now we have
using a new keyword to solve a problem of method handling.