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.
Noncompliant code example
public class Foo // Noncompliant
{
}
public struct Bar // Noncompliant
{
}
Compliant solution
namespace SomeSpace
{
public class Foo
{
}
public struct Bar
{
}
}