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