ECMA-334 C# Language Specification17.2.7: Reserved member names |
To facilitate the underlying C# runtime implementation, for each source member declaration that is a property, event, or indexer, the implementation must reserve two method signatures based on the kind of the member declaration, its name, and its type (17.2.7.1, 17.2.7.2, 17.2.7.3). It is a compile-time error for a program to declare a member whose signature matches one of these reserved signatures, even if the underlying runtime implementation does not make use of these reservations.
The reserved names do not introduce declarations, thus they do not participate in member lookup. However, a declaration's associated reserved method signatures do participate in inheritance (17.2.1), and can be hidden with the new modifier (17.2.2).
The declaration of a destructor (17.12) also causes a signature to be reserved (17.2.7.4).
In This Section: