Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

9 lines
1.7 KiB
XML

<?xml version="1.0"?>
<clause number="17.1.1" title="Class modifiers">
<paragraph>A <non_terminal where="17.1">class-declaration</non_terminal> may optionally include a sequence of class modifiers: <grammar_production><name><non_terminal where="17.1.1">class-modifier</non_terminal>s</name> : <rhs><non_terminal where="17.1.1">class-modifier</non_terminal></rhs><rhs><non_terminal where="17.1.1">class-modifiers</non_terminal><non_terminal where="17.1.1">class-modifier</non_terminal></rhs></grammar_production><grammar_production><name><non_terminal where="17.1.1">class-modifier</non_terminal></name> : <rhs><keyword>new</keyword></rhs><rhs><keyword>public</keyword></rhs><rhs><keyword>protected</keyword></rhs><rhs><keyword>internal</keyword></rhs><rhs><keyword>private</keyword></rhs><rhs><keyword>abstract</keyword></rhs><rhs><keyword>sealed</keyword></rhs></grammar_production></paragraph>
<paragraph>It is a compile-time error for the same modifier to appear multiple times in a class declaration. </paragraph>
<paragraph>The new modifier is permitted on nested classes. It specifies that the class hides an inherited member by the same name, as described in <hyperlink>10.2.2</hyperlink>. It is a compile-time error for the new modifier to appear on a class declaration that is not a nested class declaration. </paragraph>
<paragraph>The public, protected, internal, and private modifiers control the accessibility of the class. Depending on the context in which the class declaration occurs, some of these modifiers may not be permitted (<hyperlink>10.5.1</hyperlink>). </paragraph>
<paragraph>The abstract and sealed modifiers are discussed in the following sections. </paragraph>
</clause>