Mega Code Archive

 
Categories / C# / Language Basics
 

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);      }  }