⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 14.4.2.htm

📁 This ECMA Standard specifies the form and establishes the interpretation of programs written in the
💻 HTM
字号:
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Hyperlinked ECMA C# Language Specification</title><meta name="author" content="Jon Jagger" /><link rel="stylesheet" href="ecma334.css"></link></head><body><div align="right"><em><a href="http://www.jaggersoft.com">Jon Jagger</a></em></div><div align="right"><a href="mailto:jon@jaggersoft.com">jon@jaggersoft.com</a></div><form method="get" action="http://search.atomz.com/search/"><input size="30" name="sp-q"></input><input type="submit" value="Search C# Spec"></input><input type="hidden" name="sp-a" value="sp10024177"></input><input type="hidden" name="sp-f" value="ISO-8859-1"></input></form><a href="toc.htm">Table of Contents</a> <a href="1.htm">1</a> <a href="2.htm">2</a> <a href="3.htm">3</a> <a href="4.htm">4</a> <a href="5.htm">5</a> <a href="6.htm">6</a> <a href="7.htm">7</a> <a href="8.htm">8</a> <a href="9.htm">9</a> <a href="10.htm">10</a> <a href="11.htm">11</a> <a href="12.htm">12</a> <a href="13.htm">13</a> <a href="14.htm">14</a> <a href="15.htm">15</a> <a href="16.htm">16</a> <a href="17.htm">17</a> <a href="18.htm">18</a> <a href="19.htm">19</a> <a href="20.htm">20</a> <a href="21.htm">21</a> <a href="22.htm">22</a> <a href="23.htm">23</a> <a href="24.htm">24</a> <a href="25.htm">25</a> <a href="notes.htm">Notes</a> <a href="HyperlinkedCSharpECMA.zip">Download</a><span class="ruler"></span><span class="heading">ECMA-334 C# Language Specification</span><span class="navigate"><a href="14.4.1.htm"><img src="previous.gif" alt="previous" border="0" /></a><a href="14.4.2.1.htm"><img src="next.gif" alt="next" border="0" /></a></span><span class="clause-depth"><a href="13.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="15.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number-link"><a href="14.htm">14</a></span><span class="clause-title-previous"> Expressions</span></span><span class="clause-depth"><a href="14.3.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="14.5.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number-link"><a href="14.4.htm">14.4</a></span><span class="clause-title-previous"> Function members</span></span><span class="clause-depth"><a href="14.4.1.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="14.4.3.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number">14.4.2</span><span class="clause-title"> Overload resolution</span></span><span class="locator">
     Paragraph 1</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P1S1"></a>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.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P1S2"></a>Overload resolution selects the function member to invoke in the following distinct contexts within C#: </span><ul><li><span class="sentence"><span class="sentence-number">3</span> <a name="P1S3"></a> Invocation of a method named in an <span class="non-terminal"><a href="14.5.5.htm#invocation-expression">invocation-expression</a></span> (<a href="14.5.5.htm">&#167;14.5.5</a>).</span> </li><li><span class="sentence"><span class="sentence-number">4</span> <a name="P1S4"></a> Invocation of an instance constructor named in an <span class="non-terminal"><a href="14.5.10.1.htm#object-creation-expression">object-creation-expression</a></span> (<a href="14.5.10.1.htm">&#167;14.5.10.1</a>).</span> </li><li><span class="sentence"><span class="sentence-number">5</span> <a name="P1S5"></a> Invocation of an indexer accessor through an <span class="non-terminal"><a href="14.5.6.htm#element-access">element-access</a></span> (<a href="14.5.6.htm">&#167;14.5.6</a>).</span> </li><li><span class="sentence"><span class="sentence-number">6</span> <a name="P1S6"></a> Invocation of a predefined or user-defined operator referenced in an expression (<a href="14.2.3.htm">&#167;14.2.3</a> and <a href="14.2.4.htm">&#167;14.2.4</a>).</span> </li></ul></span><span class="locator">
     Paragraph 2</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P2S1"></a>Each of these contexts defines the set of candidate function members and the list of arguments in its own unique way.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P2S2"></a>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: </span><ul><li><span class="sentence"><span class="sentence-number">3</span> <a name="P2S3"></a> First, the set of candidate function members is reduced to those function members that are applicable with respect to the given argument list (<a href="14.4.2.1.htm">&#167;14.4.2.1</a>).</span> <span class="sentence"><span class="sentence-number">4</span> <a name="P2S4"></a>If this reduced set is empty, a compile-time error occurs.</span> </li><li><span class="sentence"><span class="sentence-number">5</span> <a name="P2S5"></a> Then, given the set of applicable candidate function members, the best function member in that set is located.</span> <span class="sentence"><span class="sentence-number">6</span> <a name="P2S6"></a>If the set contains only one function member, then that function member is the best function member.</span> <span class="sentence"><span class="sentence-number">7</span> <a name="P2S7"></a>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 <a href="14.4.2.2.htm">&#167;14.4.2.2</a>.</span> <span class="sentence"><span class="sentence-number">8</span> <a name="P2S8"></a>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.</span> </li></ul></span><span class="locator">
     Paragraph 3</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P3S1"></a>The following sections define the exact meanings of the terms applicable function member and better function member.</span> </span><span class="ruler"></span><table><tr><td><table align="left" bgcolor="navy"><tr bgcolor="navy"><td><font face="Arial,sans-serif" size="6" color="yellow"><strong>{ JSL }</strong></font></td></tr></table></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>Jagger Software Ltd</strong></font></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>Company # 4070126</strong></font></td></tr><tr><td><font face="Arial,sans-serif" size="2" color="navy"><strong>VAT # 762 5213 42</strong></font></td></tr></table><img src="valid-html401.png" align="left" height="31" width="88" alt="Valid HTML 4.01" /><img src="vcss.gif" align="left" height="31" width="88" alt="Valid CSS" /></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -