using System; using mid=Outside.Middle; //using Outside.Middle.Inside1; // this would cause an 'ClassInside' is an ambiguous reference error using Outside.Middle.Inside2; namespace Outside { public class Class1 { public static void Main(string[] args) { Method1(); Method2(); mid.Class1.Method1(); Middle.Class1.Method1(); Outside.Middle.Inside1.ClassInside.Method1(); Middle.Inside2.ClassOneAndOnly.Method1(); ClassOneAndOnly.Method1(); ClassInside.Method1(); } public static void Method1(){Outside.Class1.Wl("Outside/Class1/Method1");} public static void Method2(){Wl("Outside/Class1/Method2");} public static void Wl(string msg) { Console.WriteLine(msg); Console.WriteLine(""); Console.Write("Press enter to continue..."); Console.ReadLine(); Console.WriteLine("---------------------------------------"); Console.WriteLine(""); } } namespace Middle { public class Class1 { public static void Method1(){Outside.Class1.Wl("Outside.Middle/Class1/Method1");} } namespace Inside1 { public class ClassInside { public static void Method1(){Outside.Class1.Wl("Outside.Middle.Inside1/ClassInside/Method1");} } } namespace Inside2 { public class ClassOneAndOnly { public static void Method1(){Outside.Class1.Wl("Outside.Middle.Inside2/ClassOneAndOnly/Method1");} } public class ClassInside { public static void Method1(){Outside.Class1.Wl("Outside.Middle.Inside2/ClassInside/Method1");} } } } }