'function1' hides inherited member 'function2'. To make the current method override that implementation, add the override keyword. Otherwise add the new keyword.
A declaration in a class conflicts with a declaration in a base class such that the base class member will be hidden.
The following sample generates CS0114:
namespace x { abstract public class clx { public abstract void f(); } public class cly : clx { public void f(){} // CS0144, hides base class member, try: // override public void f(){} public static int Main() { return 0; } } }