ECMA-334 C# Language Specification

10.8.1: Fully qualified names

Every namespace and type has a fully qualified name, which uniquely identifies the namespace or type amongst all others. The fully qualified name of a namespace or type N is determined as follows:

In other words, the fully qualified name of N is the complete hierarchical path of identifiers that lead to N, starting from the global namespace. Because every member of a namespace or type must have a unique name, it follows that the fully qualified name of a namespace or type is always unique.

[Example: The example below shows several namespace and type declarations along with their associated fully qualified names.
class A {}        // A  
namespace X       // X  
{  
   class B        // X.B  
   {  
      class C {}   // X.B.C  
   }  
   namespace Y   // X.Y  
   {  
      class D {}   // X.Y.D  
   }  
}  
namespace X.Y    // X.Y  
{  
   class E {}    // X.Y.E  
}  
end example]