/* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Namespaces prevent name conflicts. using System; // Declare a namespace for counters. 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; } } } // Declare another namespace. namespace Counter2 { /* This CountDown is in the default namespace and does not conflict with the one in Counter. */ class CountDown { public void count() { Console.WriteLine("This is count() in the " + "Counter2 namespace."); } } } public class NSDemo2 { public static void Main() { // This is CountDown in the Counter namespace. Counter.CountDown cd1 = new Counter.CountDown(10); // This is CountDown in the default namespace. Counter2.CountDown cd2 = new Counter2.CountDown(); int i; do { i = cd1.count(); Console.Write(i + " "); } while(i > 0); Console.WriteLine(); cd2.count(); } }