17.5 Methods

王朝other·作者佚名  2006-05-09
窄屏简体版  字體: |||超大  

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 (§24) and a valid

combination of the four access modifiers

(§17.2.3), the new (§17.2.2), static (§17.5.2), virtual (§17.5.3),

override (§17.5.4), sealed (§17.5.5),

abstract (§17.5.6), and extern (§17.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 (§17.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.

C# LANGUAGE SPECIFICATION

228

? 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 (§20.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 (§

17.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 (§10.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 (§10

.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, and two methods declared in the same class may not have signatures

that differ solely by ref and out.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航