Qualcuno mi impedisce di chiamare un namespace System?, No, e allora posso tranquillamente scrivere questo:
namespace
Test
{
namespace System
{
public class MyOwnClass
{
public void MyMethd()
{
System.Diagnostics.Debug.WriteLine("Hello");
}
}
}
}
Peccato che il codice non compila in quanto il compilatore utilizza il mio namespace System che, ovviamente, non include il namespace Diagnostics.
C#2.0 include la keyword global per indicare che la ricerca di un determinato namespace deve partire dalla root.
Quindi possiamo modificare la riga incriminata con:
global::System.Diagnostics.Debug.WriteLine("Hello");
A dire il vero, la documentazione citava solo "::" ma la CTP funziona in questo modo...
E per VB?... lo stesso!
Namespace
Test
Namespace System
Public Class MyOwnClass
Public Sub DoSomething()
Global.System.Diagnostics.Debug.WriteLine("ok")
End Sub
End Class
End Namespace
End Namespace