NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

7.6 Standard Modules

A standard module is an uninstantiable non-inheritable type whose members are implicitly shared and scoped to the declaration space of the standard module's containing namespace, rather than just to the standard module declaration itself. A member of a standard module has two fully qualified names – one without the standard module name in it, and one with the standard module name in it. More than one standard module in a namespace may define a member with a particular name; unqualified references to the name outside of either module are ambiguous. A module may only be declared in a namespace and may not be nested in another type. It is illegal to declare a variable of a standard module type. Standard modules may not implement interfaces, and have only shared constructors.

ModuleTypeName ::= QualifiedIdentifier
ModuleDeclaration ::=
 [ ModuleModifier+ ] Module [ Attributes ] Identifier LineTerminator
 [ ModuleMemberDeclaration+ ]
 End Module LineTerminator
ModuleModifier ::= AccessModifier | ShadowsModifier