Types are declared in namespaces in order to prevent name collisions and as a way to organize them into the object hierarchy. Types that are defined outside any named namespace are in a global namespace that cannot be referenced in code.
Public Class Foo End Class Public Structure Bar End Structure
Namespace SomeSpace
Public Class Foo
End Class
Public Structure Bar
End Structure
End Namespace