Export (0) Print
Expand All

9.5 Type declarations

Visual Studio .NET 2003

A type-declaration is a class-declaration (Section 10.1), a struct-declaration (Section 11.1), an interface-declaration (Section 13.1), an enum-declaration (Section 14.1), or a delegate-declaration (Section 15.1).

type-declaration:
class-declaration
struct-declaration
interface-declaration
enum-declaration
delegate-declaration

A type-declaration can occur as a top-level declaration in a compilation unit or as a member declaration within a namespace, class, or struct.

When a type declaration for a type T occurs as a top-level declaration in a compilation unit, the fully qualified name of the newly declared type is simply T. When a type declaration for a type T occurs within a namespace, class, or struct, the fully qualified name of the newly declared type is N.T, where N is the fully qualified name of the containing namespace, class, or struct.

A type declared within a class or struct is called a nested type (Section 10.2.6).

The permitted access modifiers and the default access for a type declaration depend on the context in which the declaration takes place (Section 3.5.1):

  • Types declared in compilation units or namespaces can have public or internal access. The default is internal access.
  • Types declared in classes can have public, protected internal, protected, internal, or private access. The default is private access.
  • Types declared in structs can have public, internal, or private access. The default is private access.
Show:
© 2015 Microsoft