Namespaces are additive
/* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Namespaces are additive. using System; // Bring Counter into view. using Counter; // Here is one Counter namespace. namespace Counter { // A simple countdown counter. class CountDown { int val; public CountDown(int n) { val = n; } public void reset(int n) { val = n; } public int count() { if(val > 0) return val--; else return 0; } } } // Here is another Counter namespace. namespace Counter { // A simple count-up counter. class CountUp { int val; int target; public int Target { get{ return target; } } public CountUp(int n) { target = n; val = 0; } public void reset(int n) { target = n; val = 0; } public int count() { if(val < target) return val++; else return target; } } } public class NSDemo5 { public static void Main() { CountDown cd = new CountDown(10); CountUp cu = new CountUp(8); int i; do { i = cd.count(); Console.Write(i + " "); } while(i > 0); Console.WriteLine(); do { i = cu.count(); Console.Write(i + " "); } while(i < cu.Target); } }