Mega Code Archive

 
Categories / C# / Language Basics
 

Namespaces prevent name conflicts

/* 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();    }   }