Export (0) Print
Expand All
9 out of 16 rated this helpful - Rate this topic

10.5 Methods

Visual Studio .NET 2003

A method is a member that implements a computation or action that can be performed by an object or class. Methods are declared using method-declarations:

method-declaration:
method-header   method-body
method-header:
attributesopt   method-modifiersopt   return-type   member-name   (   formal-parameter-listopt   )
method-modifiers:
method-modifier
method-modifiers   method-modifier
method-modifier:
new
public
protected
internal
private
static
virtual
sealed
override
abstract
extern
return-type:
type
void
member-name:
identifier
interface-type   .   identifier
method-body:
block
;

A method-declaration may include a set of attributes (Section 17) and a valid combination of the four access modifiers (Section 10.2.3), the new (Section 10.2.2), static (Section 10.5.2), virtual (Section 10.5.3), override (Section 10.5.4), sealed (Section 10.5.5), abstract (Section 10.5.6), and extern (Section 10.5.7) modifiers.

A declaration has a valid combination of modifiers if all of the following are true:

  • The declaration includes a valid combination of access modifiers (Section 10.2.3).
  • The declaration does not include the same modifier multiple times.
  • The declaration includes at most one of the following modifiers: static, virtual, and override.
  • The declaration includes at most one of the following modifiers: new and override.
  • If the declaration includes the abstract modifier, then the declaration does not include any of the following modifiers: static, virtual, sealed, or extern.
  • If the declaration includes the private modifier, then the declaration does not include any of the following modifiers: virtual, override, or abstract.
  • If the declaration includes the sealed modifier, then the declaration also includes the override modifier.

The return-type of a method declaration specifies the type of the value computed and returned by the method. The return-type is void if the method does not return a value.

The member-name specifies the name of the method. Unless the method is an explicit interface member implementation (Section 13.4.1), the member-name is simply an identifier. For an explicit interface member implementation, the member-name consists of an interface-type followed by a "." and an identifier.

The optional formal-parameter-list specifies the parameters of the method (Section 10.5.1).

The return-type and each of the types referenced in the formal-parameter-list of a method must be at least as accessible as the method itself (Section 3.5.4).

For abstract and extern methods, the method-body consists simply of a semicolon. For all other methods, the method-body consists of a block, which specifies the statements to execute when the method is invoked.

The name and the formal parameter list of a method define the signature (Section 3.6) of the method. Specifically, the signature of a method consists of its name and the number, modifiers, and types of its formal parameters. The return type is not part of a method's signature, nor are the names of the formal parameters.

The name of a method must differ from the names of all other non-methods declared in the same class. In addition, the signature of a method must differ from the signatures of all other methods declared in the same class.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.