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

📄 16.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="16.1.htm"><img src="previous.gif" alt="previous" border="0" /></a><a href="16.3.htm"><img src="next.gif" alt="next" border="0" /></a></span><span class="clause-depth"><a href="15.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="17.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number-link"><a href="16.htm">16</a></span><span class="clause-title-previous"> Namespaces</span></span><span class="clause-depth"><a href="16.1.htm"><img src="previous.gif" alt="previous at this level" border="0" /></a><a href="16.3.htm"><img src="next.gif" alt="next at this level" border="0" /></a> <span class="clause-number">16.2</span><span class="clause-title"> Namespace declarations</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 <span class="non-terminal"><a href="16.2.htm#namespace-declaration">namespace-declaration</a></span> consists of the keyword namespace, followed by a namespace name and body, optionally followed by a semicolon.</span> <span class="grammar-production"><span class="name"><a name="namespace-declaration"></a>namespace-declaration</span> : <span class="rhs"><span class="keyword">namespace</span> <span class="non-terminal"><a href="16.2.htm#qualified-identifier">qualified-identifier</a></span> <span class="non-terminal"><a href="16.2.htm#namespace-body">namespace-body</a></span> <span class="terminal">;</span><sub>opt</sub> </span></span><span class="grammar-production"><span class="name"><a name="qualified-identifier"></a>qualified-identifier</span> : <span class="rhs"><span class="non-terminal"><a href="9.4.2.htm#identifier">identifier</a></span> </span><span class="rhs"><span class="non-terminal"><a href="16.2.htm#qualified-identifier">qualified-identifier</a></span> <span class="terminal">.</span> <span class="non-terminal"><a href="9.4.2.htm#identifier">identifier</a></span> </span></span><span class="grammar-production"><span class="name"><a name="namespace-body"></a>namespace-body</span> : <span class="rhs"><span class="terminal">{</span> <span class="non-terminal"><a href="16.3.htm#using-directives">using-directives</a></span><sub>opt</sub> <span class="non-terminal"><a href="16.4.htm#namespace-member-declarations">namespace-member-declarations</a></span><sub>opt</sub> <span class="terminal">}</span> </span></span></span><span class="locator">
     Paragraph 2</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P2S1"></a>A <span class="non-terminal"><a href="16.2.htm#namespace-declaration">namespace-declaration</a></span> may occur as a top-level declaration in a <span class="non-terminal"><a href="16.1.htm#compilation-unit">compilation-unit</a></span> or as a member declaration within another <span class="non-terminal"><a href="16.2.htm#namespace-declaration">namespace-declaration</a></span>.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P2S2"></a>When a <span class="non-terminal"><a href="16.2.htm#namespace-declaration">namespace-declaration</a></span> occurs as a top-level declaration in a <span class="non-terminal"><a href="16.1.htm#compilation-unit">compilation-unit</a></span>, the namespace becomes a member of the global namespace.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P2S3"></a>When a <span class="non-terminal"><a href="16.2.htm#namespace-declaration">namespace-declaration</a></span> occurs within another <span class="non-terminal"><a href="16.2.htm#namespace-declaration">namespace-declaration</a></span>, the inner namespace becomes a member of the outer namespace.</span> <span class="sentence"><span class="sentence-number">4</span> <a name="P2S4"></a>In either case, the name of a namespace must be unique within the containing namespace.</span> </span><span class="locator">
     Paragraph 3</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P3S1"></a>Namespaces are implicitly public and the declaration of a namespace cannot include any access modifiers.</span> </span><span class="locator">
     Paragraph 4</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P4S1"></a>Within a <span class="non-terminal"><a href="16.2.htm#namespace-body">namespace-body</a></span>, the optional <span class="non-terminal"><a href="16.3.htm#using-directive">using-directive</a></span>s import the names of other namespaces and types, allowing them to be referenced directly instead of through qualified names.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P4S2"></a>The optional  <span class="non-terminal"><a href="16.4.htm#namespace-member-declaration">namespace-member-declaration</a></span>s contribute members to the declaration space of the namespace.</span> <span class="sentence"><span class="sentence-number">3</span> <a name="P4S3"></a>Note that all  <span class="non-terminal"><a href="16.3.htm#using-directive">using-directive</a></span>s must appear before any member declarations.</span> </span><span class="locator">
     Paragraph 5</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P5S1"></a>The <span class="non-terminal"><a href="16.2.htm#qualified-identifier">qualified-identifier</a></span> of a <span class="non-terminal"><a href="16.2.htm#namespace-declaration">namespace-declaration</a></span> may be a single identifier or a sequence of identifiers separated by "." tokens.</span> <span class="sentence"><span class="sentence-number">2</span> <a name="P5S2"></a>The latter form permits a program to define a nested namespace without lexically nesting several namespace declarations.</span> <span class="example">[Example: For example, <pre class="code-example">
namespace N1.N2  
{  
   class A {}  
   class B {}  
}  
</pre>is semantically equivalent to <pre class="code-example">
namespace N1  
{  
   namespace N2  
   {  
      class A {}  
      class B {}  
   }  
}  
</pre>end example]</span> </span><span class="locator">
     Paragraph 6</span><span class="paragraph"><span class="sentence"><span class="sentence-number">1</span> <a name="P6S1"></a>Namespaces are open-ended, and two namespace declarations with the same fully qualified name contribute to the same declaration space (<a href="10.3.htm">&#167;10.3</a>).</span> <span class="example">[Example: In the example <pre class="code-example">
namespace N1.N2  
{  
   class A {}  
}  
namespace N1.N2  
{  
   class B {}  
}  
</pre>the two namespace declarations above contribute to the same declaration space, in this case declaring two classes with the fully qualified names N1.N2.A and N1.N2.B. Because the two declarations contribute to the same declaration space, it would have been an error if each contained a declaration of a member with the same name. end example]</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 + -