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();
}
}
Related examples in the same category