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.
分享到:
相关推荐
17.5 Several Dependent and Independent Variables 1058 17.6 Lagrangian Multipliers 1060 17.7 Variation with Constraints 1065 17.8 Rayleigh-Ritz Variational Technique 1072 Additional Readings 1076 ...
17.5 Shared-memory parallelism 467 17.6 Techniques for vector processing 473 17.7 Further study 480 18 More about software 481 18.1 Introduction 481 18.2 Structures and macro definitions 481 18.3 ...
Deprecated Python modules, functions and methods asynchat asyncore dbm distutils grp importlib os re ssl tkinter venv Deprecated functions and types of the C API Deprecated Build Options ...
17.5 PCB Requirements for High-Power Heat Sink Attach / 17.14 17.6 Modeling the Thermal Performance of the PCB / 17.15 References / 17.18 Chapter 18. Information Formating and Exchange 18.1 18.1 ...
Stochastic Methods 14.2.2 Spatial Domain Methods vs. Frequency Domain Methods 14.2.3 Region-Based Approaches vs. Gradient-Based Approaches 14.2.4 Forward vs. Backward Motion Estimation ...
17.5 Counting arguments 422 17.6 Number of independent equations 428 17.7 Choosing equations 431 17.8 Closure 432 18 N-View Computational Methods 434 18.1 Projective reconstruction – bundle ...
17.5 Connections and Extensions 345 17.6 Notes and Details 347 18 Neural Networks and Deep Learning 351 18.1 Neural Networks and the Handwritten Digit Problem 353 18.2 Fitting a Neural Network 356 ...
17.5 Mouse Events 467 17.6 Mousewheel Events 471 17.7 Drag and Drop Events 474 17.8 Text Events 481 17.9 Keyboard Events 484 18. Scripted ...
Keeping References to Bound Methods Without Inhibiting Garbage Collection Recipe 6.11. Implementing a Ring Buffer Recipe 6.12. Checking an Instance for Any State Changes Recipe 6.13. Checking ...
Chapter 1. Introduction Section 1.1. Why Linux? Section 1.2....Section 1.3....Section 1.4....Section 1.5....Chapter 2....Section 2.1....Section 2.2....Section 2.3....Section 2.4....Section 17.5. Chapter Summar
7 Combinatorial Search and Heuristic Methods 7.1 Backtracking 7.2 Search Pruning 7.3 Sudoku 7.4 War Story: Covering Chessboards 7.5 Heuristic SearchMethods 7.6 War Story: Only it is Not a Radio ...
2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 ...2.2.5. 在classpath中自动搜索组件 ...2.3.3. 对bean命名pointcut( ...
前言 1. 简介 1.1. 概览 1.1.1. 使用场景 2. Spring 2.0和 2.5的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)...
Section 17.5. Implementing New Services with an Edge Server API Section 17.6. The ICAP Protocol Section 17.7. Distributing Web Applications Section 17.8. Summary Chapter 18. Content ...
-500 17.5 35 52.5 70 horizonral scanning dislancC(lllm) 0.9 0.8 0.7 06 0.5 0.4 0.3 0.2 0.1 a b Figure 3. Wave Action Relationship to LiDAR Echo. "LiDAR measurements of wake profiles generated by ...
9.3. Basic Methods 9.3.1. The current date 9.3.2. Zend_Date by Example 9.3.2.1. Ouput a Date 9.3.2.2. Setting a Date 9.3.2.3. Adding and Subtracting Dates 9.3.2.4. Comparation of dates 9.4. ...
7.11 Bagging and Other Ensemble Methods . . . . . . . . . . . . . . . 253 7.12 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 7.13 Adversarial Training . . . . . . . . . ....
17.5.4. 注册自己的处理方法 17.5.5. 使用XFire来暴露Web服务 17.6. 对远程接口不提供自动探测 17.7. 在选择这些技术时的一些考虑 18. Enterprise Java Bean(EJB)集成 18.1. 简介 18.2. 访问EJB 18.2.1. 概念...