When an instance method declaration includes the Override modifier, it means that this method overrides implementation of an inherited virtual method of the basic class.
A method overriden by an overriden method declaration is known as a basic implementation of this method. For an overriden method M declared in a class C, the basic implementation is determined by examining each basic class of C, starting with the parent class and continuing in the order of inheritance hierarchy, until an accessible method with the same signature as M is located.
The following conditions must be satisfied to successfully compile an overriden method:
Basic implementation of an overriden method can be found as described above.
The basic implementation is a virtual, abstract, or overriden method. The basic implementation cannot be a static or non-virtual method.
The basic implementation is not a final method.
The basic implementation and overriden method have the same return type.
The basic implementation and overriden method have the same declared accessibility. The overriden method cannot change the accessibility of the virtual method. If the basic implementation is declared with the "generic assembly" access level and the overriden method is located in another assembly, it should be declared with generic access level.
An example of overriding methods is given in the description of virtual methods.
See also: