This is maybe a fine point, but it concerns the warning that the compiler issues if you do something like:
class A
{
public virtual void F() { }
}
class B :
This is just warning. Code will work. In some circumstance, this warning can lead to some problem.
use new keyword with the method which you are calling from the base class.
class A
{
public virtual void F() { }
}
class B : A
{
new public void F() { }
}
https://msdn.microsoft.com/en-us/library/435f1dw2.aspx
https://msdn.microsoft.com/en-us/library/aa691135(v=vs.71).aspx