14.4.2 Overload resolution

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

Overload resolution is a compile-time mechanism for selecting the best

function member to invoke given an

argument list and a set of candidate function members. Overload resolution

selects the function member to

invoke in the following distinct contexts within C#:

?Invocation of a method named in an invocation-expression (?4.5.5).

?Invocation of an instance constructor named in an

object-creation-expression (?4.5.10.1).

?Invocation of an indexer accessor through an element-access (?4.5.6).

?Invocation of a predefined or user-defined operator referenced in an

expression (?4.2.3 and ?4.2.4).

Each of these contexts defines the set of candidate function members and

the list of arguments in its own

unique way. However, once the candidate function members and the argument

list have been identified, the

selection of the best function member is the same in all cases:

?First, the set of candidate function members is reduced to those function

members that are applicable

with respect to the given argument list (?4.4.2.1). If this reduced set is

empty, a compile-time error

occurs.

?Then, given the set of applicable candidate function members, the best

function member in that set is

located. If the set contains only one function member, then that function

member is the best function

member. Otherwise, the best function member is the one function member that

is better than all other

function members with respect to the given argument list, provided that

each function member is

compared to all other function members using the rules in ?4.4.2.2. If

there is not exactly one function

member that is better than all other function members, then the function

member invocation is

ambiguous and a compile-time error occurs.

The following sections define the exact meanings of the terms applicable

function member and better

function member.

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