14.4.2.1.htm

来自「This ECMA Standard specifies the form an」· HTM 代码 · 共 3 行

HTM
3
字号
<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.2.htm"><img src="previous.gif" alt="previous" border="0" /></a><a href="14.4.2.2.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-link"><a href="14.4.2.htm">14.4.2</a></span><span class="clause-title-previous"> Overload resolution</span></span><span class="clause-depth"><a href="14.4.2.1.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="14.4.2.2.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number">14.4.2.1</span><span class="clause-title"> Applicable function member</span></span><span class="locator">
     Paragraph 1</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P1S1"></a>A function member is said to be an applicable function member with respect to an argument list A when all of the following are true: </span><ul><li><span class="sentence"><span class="sentence-number">2</span> <a name="P1S2"></a> The number of arguments in A is identical to the number of parameters in the function member declaration.</span> </li><li><span class="sentence"><span class="sentence-number">3</span> <a name="P1S3"></a> For each argument in A, the parameter passing mode of the argument (i.e., value, ref, or out) is identical to the parameter passing mode of the corresponding parameter, and </span></li><ul><li><span class="sentence"><span class="sentence-number">4</span> <a name="P1S4"></a> for a value parameter or a parameter array, an implicit conversion (<a href="13.1.htm">&#167;13.1</a>) exists from the type of the argument to the type of the corresponding parameter, or </span></li><li><span class="sentence"><span class="sentence-number">5</span> <a name="P1S5"></a> for a ref or out parameter, the type of the argument is identical to the type of the corresponding parameter.</span> <span class="note">[Note: After all, a ref or out parameter is an alias for the argument passed. end note]</span> </li></ul></ul></span><span class="locator">
     Paragraph 2</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P2S1"></a>For a function member that includes a parameter array, if the function member is applicable by the above rules, it is said to be applicable in its normal form.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P2S2"></a>If a function member that includes a parameter array is not applicable in its normal form, the function member may instead be applicable in its expanded form: </span><ul><li><span class="sentence"><span class="sentence-number">3</span> <a name="P2S3"></a> The expanded form is constructed by replacing the parameter array in the function member declaration with zero or more value parameters of the element type of the parameter array such that the number of arguments in the argument list A matches the total number of parameters.</span> <span class="sentence"><span class="sentence-number">4</span> <a name="P2S4"></a>If A has fewer arguments than the number of fixed parameters in the function member declaration, the expanded form of the function member cannot be constructed and is thus not applicable.</span> </li><li><span class="sentence"><span class="sentence-number">5</span> <a name="P2S5"></a> If the class, struct, or interface in which the function member is declared already contains another applicable function member with the same signature as the expanded form, the expanded form is not applicable.</span> </li><li><span class="sentence"><span class="sentence-number">6</span> <a name="P2S6"></a> Otherwise, the expanded form is applicable if for each argument in A the parameter passing mode of the argument is identical to the parameter passing mode of the corresponding parameter, and </span></li><ul><li><span class="sentence"><span class="sentence-number">7</span> <a name="P2S7"></a> for a fixed value parameter or a value parameter created by the expansion, an implicit conversion (<a href="13.1.htm">&#167;13.1</a>) exists from the type of the argument to the type of the corresponding parameter, or </span></li><li><span class="sentence"><span class="sentence-number">8</span> <a name="P2S8"></a> for a ref or out parameter, the type of the argument is identical to the type of the corresponding parameter.</span> </li></ul></ul></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 + =
减小字号Ctrl + -
显示快捷键?